示例#1
0
    def test__contains__(self):
        parent = Node()
        child = parent.descend('Child')
        parent.ctx['a'] = 1
        child.ctx['b'] = 2

        assert 'a' in parent.ctx
        assert 'a' in child.ctx
        assert 'b' in child.ctx
        assert 'b' not in parent.ctx
示例#2
0
    def test__contains__(self):
        parent = Node()
        child = parent.descend('Child')
        parent.ctx['a'] = 1
        child.ctx['b'] = 2

        assert 'a' in parent.ctx
        assert 'a' in child.ctx
        assert 'b' in child.ctx
        assert 'b' not in parent.ctx
示例#3
0
 def test_correct_scope(self):
     '''Dynamically create nodes should be in the global scope.
     '''
     name = 'Cow'
     newtype = Node().descend(name)
     self.assertIn(name, globals())
     self.assertNotIn(name, locals())
示例#4
0
 def test_correct_module(self):
     '''Assert dynamically created types get created in
     the calling scope.
     '''
     name = 'Cow'
     newtype = Node().descend(name)
     self.assertEqual(newtype.__class__.__module__, __name__)
示例#5
0
 def test_clone_ne(self):
     n1 = Node(a=1, b=2, c=3)
     n1.descend('Test1', x=1, y=2, z=3)
     n2 = n1.clone(cow='moo')
     self.assertNotEqual(n1, n2)
示例#6
0
 def test_clone_eq(self):
     n1 = Node(a=1, b=2, c=3)
     n1.descend('Test1', x=1, y=2, z=3)
     self.assertEqual(n1, n1.clone())
示例#7
0
 def test_ne(self):
     n1 = Node(a=1, b=2, c=3)
     n1.descend('Test1', x=1, y=2, z=3)
     n2 = Node(a=1, b=2, c=3)
     n2.descend('Test1', x=1, y=2, z=4)
     self.assertNotEqual(n1, n2)
示例#8
0
 def test_clone_eq(self):
     n1 = Node(a=1, b=2, c=3)
     n1.descend('Test1', x=1, y=2, z=3)
     self.assertEqual(n1, n1.clone())
示例#9
0
    def test_eq(self):
        n1 = Node(a=1, b=2, c=3)
        n1.descend('Test1', x=1, y=2, z=3)

        n2 = Node(a=1, b=2, c=3)
        n2.descend('Test1', x=1, y=2, z=3)
示例#10
0
 def test__delitem__(self):
     parent = Node()
     child = parent.descend('Child')
     parent.ctx['a'] = 1
     del parent.ctx['a']
示例#11
0
 def test_maps(self):
     parent = Node()
     child = parent.descend('Child')
     assert list(child.ctx.maps) == [child.ctx.map] + list(parent.ctx.maps)
示例#12
0
 def test__len__(self):
     parent = Node()
     child = parent.descend('Child')
     parent.ctx['a'] = 1
     child.ctx['b'] = 2
     assert len(child.ctx) is 2
示例#13
0
 def test__delitem__(self):
     parent = Node()
     child = parent.descend('Child')
     parent.ctx['a'] = 1
     del parent.ctx['a']
示例#14
0
    def test_root(self):
        parent = Node()
        assert parent.ctx is parent.ctx.root

        ancestor = parent.descend_path("Child", "Grandchild")
        assert parent.ctx is ancestor.ctx.root
示例#15
0
 def test_maps(self):
     parent = Node()
     child = parent.descend('Child')
     assert list(child.ctx.maps) == [child.ctx.map] + list(parent.ctx.maps)
示例#16
0
 def test_import_works(self):
     '''Verify that the resolved name points to this module's TestNode.
     '''
     name = 'ExampleNode'
     newtype = Node().descend(name)
     self.assertIs(type(newtype), ExampleNode)
示例#17
0
    def test_eq(self):
        n1 = Node(a=1, b=2, c=3)
        n1.descend('Test1', x=1, y=2, z=3)

        n2 = Node(a=1, b=2, c=3)
        n2.descend('Test1', x=1, y=2, z=3)
示例#18
0
 def test__iter__(self):
     parent = Node()
     child = parent.descend('Child')
     parent.ctx['a'] = 1
     child.ctx['b'] = 2
     assert list(child.ctx) == list(child.ctx.map) + list(parent.ctx)
示例#19
0
 def test__get__(self):
     node = Node()
     assert node.ctx.inst is node
     assert node.ctx._inst is node
示例#20
0
 def test__iter__(self):
     parent = Node()
     child = parent.descend('Child')
     parent.ctx['a'] = 1
     child.ctx['b'] = 2
     assert list(child.ctx) == list(child.ctx.map) + list(parent.ctx)
示例#21
0
    def test_root(self):
        parent = Node()
        assert parent.ctx is parent.ctx.root

        ancestor = parent.descend_path("Child", "Grandchild")
        assert parent.ctx is ancestor.ctx.root
示例#22
0
 def test__repr__(self):
     parent = Node()
     child = parent.descend('Child')
     parent.ctx['a'] = 1
     child.ctx['b'] = 2
     assert repr(child.ctx) == "{'b': 2} -> {'a': 1}"
示例#23
0
 def test__len__(self):
     parent = Node()
     child = parent.descend('Child')
     parent.ctx['a'] = 1
     child.ctx['b'] = 2
     assert len(child.ctx) is 2
示例#24
0
 def test_clone_ne(self):
     n1 = Node(a=1, b=2, c=3)
     n1.descend('Test1', x=1, y=2, z=3)
     n2 = n1.clone(cow='moo')
     self.assertNotEqual(n1, n2)
示例#25
0
 def test__repr__(self):
     parent = Node()
     child = parent.descend('Child')
     parent.ctx['a'] = 1
     child.ctx['b'] = 2
     assert repr(child.ctx) == "{'b': 2} -> {'a': 1}"
示例#26
0
 def test__init__(self):
     node = Node()
     node.ctx['a'] = 1
     child = node.descend('Child')
     newmap = ChainMap(inst=child)
     assert newmap['a'] == 1
示例#27
0
 def test__init__(self):
     node = Node()
     node.ctx['a'] = 1
     child = node.descend('Child')
     newmap = ChainMap(inst=child)
     assert newmap['a'] == 1
示例#28
0
 def test_ne(self):
     n1 = Node(a=1, b=2, c=3)
     n1.descend('Test1', x=1, y=2, z=3)
     n2 = Node(a=1, b=2, c=3)
     n2.descend('Test1', x=1, y=2, z=4)
     self.assertNotEqual(n1, n2)