Exemple #1
0
 def testGetPathsToStarts(self, procs, starts, proc, paths):
     for p in procs:
         ProcTree.register(p)
     pt = ProcTree()
     pt.setStarts(starts)
     ps = pt.getPathsToStarts(proc)
     self.assertListEqual(ps, paths)
Exemple #2
0
def test_proctree_getpathstostarts(set2):
    # p15 -> p16  ->  p17 -> 19
    # p14 _/  \_ p18_/  \_ p20
    #           hide
    pt = ProcTree()
    pt.init()
    pt.setStarts([set2.p15])
    assert pt.getPathsToStarts(set2.p15) == []
    assert pt.getPathsToStarts(
        set2.p19) == [[set2.p17, set2.p16, set2.p15],
                      [set2.p17, set2.p18, set2.p16, set2.p15]]
    assert pt.getPathsToStarts(
        set2.p20) == [[set2.p17, set2.p16, set2.p15],
                      [set2.p17, set2.p18, set2.p16, set2.p15]]
    # assert pt.getPathsToStarts(set2.p19, check_hide = True) == [[set2.p17, set2.p16, set2.p15]]
    # assert pt.getPathsToStarts(set2.p20, check_hide = True) == [[set2.p17, set2.p16, set2.p15]]

    pt.setStarts([set2.p14, set2.p15])
    assert pt.getPathsToStarts(set2.p14) == []
    assert pt.getPathsToStarts(set2.p15) == []
    assert pt.getPathsToStarts(set2.p16) == [[set2.p14], [set2.p15]]
    assert pt.getPathsToStarts(set2.p18) == [[set2.p16, set2.p14],
                                             [set2.p16, set2.p15]]
    assert pt.getPathsToStarts(set2.p17) == [
        [set2.p16, set2.p14],
        [set2.p16, set2.p15],
        [set2.p18, set2.p16, set2.p14],
        [set2.p18, set2.p16, set2.p15],
    ]
    assert pt.getPathsToStarts(set2.p19) == [
        [set2.p17, set2.p16, set2.p14],
        [set2.p17, set2.p16, set2.p15],
        [set2.p17, set2.p18, set2.p16, set2.p14],
        [set2.p17, set2.p18, set2.p16, set2.p15],
    ]
    assert pt.getPathsToStarts(set2.p20) == [
        [set2.p17, set2.p16, set2.p14],
        [set2.p17, set2.p16, set2.p15],
        [set2.p17, set2.p18, set2.p16, set2.p14],
        [set2.p17, set2.p18, set2.p16, set2.p15],
    ]