Exemplo n.º 1
0
 def test_parse_tree_manual(self):
     root = Node()
     current = root
     current.set_root()
     self.assertEqual(root, current)
     current = root.new_left()
     introspection = current
     current = introspection.new_left()
     current = current.parent
     self.assertEqual(introspection, current)
     current.token = '!'
     self.assertEqual('!', introspection.token)
     current.left = None
     self.assertIsNone(introspection.left)
     current = current.new_right()
     a = current
     current.token = 'a'
     self.assertEqual('a', a.token)
     current = current.parent
     self.assertEqual(introspection, current)
     current = current.parent
     self.assertEqual(current, root)
     current.token = ':'
     self.assertEqual(':', root.token)
     current = current.new_right()
     F = current
     current.token = 'F'
     self.assertEqual('F', F.token)
     current = current.parent
     self.assertEqual(root, current)
     current = current.parent
     self.assertEqual(root, current)
Exemplo n.º 2
0
 def test_new_right_and_left(self):
     root = Node()
     root.set_root()
     right = root.new_right()
     left = root.new_left()
     self.assertEqual(right.sibling, left)
     self.assertEqual(left.sibling, right)
Exemplo n.º 3
0
 def test_new_left(self):
     root = Node()
     root.set_root()
     left = root.new_left()
     self.assertTrue(root.has_left())
     self.assertFalse(root.has_right())
     self.assertEqual(root.left, left)
     self.assertEqual(left.parent, root)
     self.assertFalse(root.is_leaf())
     self.assertFalse(left.is_root())
     self.assertTrue(left.is_leaf())
     self.assertEqual('left', left.position)
Exemplo n.º 4
0
 def test_set_left1(self):
     c = Node()
     c.set_root()
     plus = c.new_left()
     d = c.new_right()
     a = plus.new_left()
     b = plus.new_right()
     c.set_left(a)
     self.assertEqual('left', a.position)
     self.assertEqual(c.left, a)
     self.assertEqual(a.parent, c)
     self.assertEqual(a.sibling, d)
     self.assertEqual(d.sibling, a)
Exemplo n.º 5
0
 def test_set_right2(self):
     c = Node()
     c.set_root()
     d = c.new_left()
     plus = c.new_right()
     a = plus.new_left()
     b = plus.new_right()
     c.set_right(b)
     self.assertEqual('right', b.position)
     self.assertEqual(c.right, b)
     self.assertEqual(b.parent, c)
     self.assertEqual(b.sibling, d)
     self.assertEqual(d.sibling, b)