test_node.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import unittest
  2. import doctest
  3. import node
  4. from node import Node, Leaf
  5. class TestNode(unittest.TestCase):
  6. def test_doctest(self):
  7. self.assertEqual(doctest.testmod(m=node)[0], 0)
  8. def setUp(self):
  9. self.l0 = Leaf('leaf 1')
  10. self.l1 = Leaf('leaf 2')
  11. self.node = Node('node', self.l0, self.l1)
  12. def tearDown(self):
  13. pass
  14. def test_getitem(self):
  15. assert self.node[0] == self.l0
  16. def test_setitem(self):
  17. self.node[0] = Leaf('leaf 3')
  18. assert self.node[0] != self.l0
  19. def test_iter(self):
  20. s = ''
  21. for leaf in self.node:
  22. s += leaf.title()
  23. assert s == 'leaf 1leaf 2'
  24. def test_len(self):
  25. assert len(self.node) == 2
  26. def test_title(self):
  27. assert self.node.title() == 'node'
  28. assert self.l0.title() == 'leaf 1'
  29. def test____str__(self):
  30. l1 = Leaf(1)
  31. self.assertEqual(str(l1), '1')
  32. l1 = -l1
  33. self.assertEqual(str(l1), '-1')
  34. l1 = -l1
  35. self.assertEqual(str(l1), '--1')