diff options
| author | Steven Knight <knight@baldmt.com> | 2001-10-04 18:50:26 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2001-10-04 18:50:26 (GMT) |
| commit | a0e380faef8af1b62213a0ea1840b38fa0ecf6e4 (patch) | |
| tree | be77f7a8bd158e0297a3d566f30ecc5a631945e1 /src/engine/SCons/Node/NodeTests.py | |
| parent | 659c690b1a731e72a8f79b726bc1ba8b8691a5ac (diff) | |
| download | SCons-a0e380faef8af1b62213a0ea1840b38fa0ecf6e4.zip SCons-a0e380faef8af1b62213a0ea1840b38fa0ecf6e4.tar.gz SCons-a0e380faef8af1b62213a0ea1840b38fa0ecf6e4.tar.bz2 | |
Add a node Walker for descending the dependency tree.
Diffstat (limited to 'src/engine/SCons/Node/NodeTests.py')
| -rw-r--r-- | src/engine/SCons/Node/NodeTests.py | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/src/engine/SCons/Node/NodeTests.py b/src/engine/SCons/Node/NodeTests.py index e77e1b6..309229e 100644 --- a/src/engine/SCons/Node/NodeTests.py +++ b/src/engine/SCons/Node/NodeTests.py @@ -150,9 +150,50 @@ class NodeTestCase(unittest.TestCase): node.add_dependency(['four', 'five', 'six']) kids = node.children() kids.sort() - print kids assert kids == ['five', 'four', 'one', 'six', 'three', 'two'] + def test_walker(self): + """Test walking a Node tree. + """ + + class MyNode(SCons.Node.Node): + def __init__(self, name): + SCons.Node.Node.__init__(self) + self.name = name + + n1 = MyNode("n1") + + nw = SCons.Node.Walker(n1) + assert nw.next().name == "n1" + assert nw.next() == None + + n2 = MyNode("n2") + n3 = MyNode("n3") + n1.add_source([n2, n3]) + + nw = SCons.Node.Walker(n1) + assert nw.next().name == "n2" + assert nw.next().name == "n3" + assert nw.next().name == "n1" + assert nw.next() == None + + n4 = MyNode("n4") + n5 = MyNode("n5") + n6 = MyNode("n6") + n7 = MyNode("n7") + n2.add_source([n4, n5]) + n3.add_dependency([n6, n7]) + + nw = SCons.Node.Walker(n1) + assert nw.next().name == "n4" + assert nw.next().name == "n5" + assert nw.next().name == "n2" + assert nw.next().name == "n6" + assert nw.next().name == "n7" + assert nw.next().name == "n3" + assert nw.next().name == "n1" + assert nw.next() == None + if __name__ == "__main__": |
