test_pencils.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. '''
  2. ** By Cro-Ki l@b, 2017 **
  3. '''
  4. import unittest
  5. from pypog.grid_objects import SquareGrid, FHexGrid
  6. from pypog.painter_objects import BasePainter, NotStartedException
  7. class Test(unittest.TestCase):
  8. def test_base_painter(self):
  9. for grid_cls in (SquareGrid, FHexGrid):
  10. self.assertRaises(TypeError, BasePainter, "invalid arg")
  11. grid = grid_cls(30, 30)
  12. painter = BasePainter(grid)
  13. # default origin and position
  14. self.assertEqual(painter.origin, None)
  15. self.assertEqual(painter.position, None)
  16. with self.assertRaises(AttributeError):
  17. painter.origin = (1, 1)
  18. painter.position = (1, 1)
  19. # size
  20. self.assertRaises(TypeError, setattr, painter, "size", "a")
  21. self.assertRaises(ValueError, setattr, painter, "size", -1)
  22. self.assertEqual(painter.size, 1)
  23. # selection, added, removed
  24. self.assertEqual(painter.selection, [])
  25. self.assertEqual(painter.added, [])
  26. self.assertEqual(painter.removed, [])
  27. # painter methods
  28. self.assertRaises(TypeError, painter.start, "a")
  29. self.assertRaises(NotStartedException, painter.update, 1, 1)
  30. self.assertRaises(NotImplementedError, painter._update)
  31. try:
  32. painter.start(0, 0)
  33. except NotImplementedError:
  34. pass
  35. self.assertRaises(TypeError, painter.update, "a")
  36. self.assertEqual(painter.origin, (0, 0))
  37. def test_line_painter(self):
  38. pass
  39. def test_free_painter(self):
  40. pass
  41. def test_pot_painter(self):
  42. pass
  43. def test_rect_painter(self):
  44. pass
  45. def test_hrect_painter(self):
  46. pass
  47. def test_boundary_painter(self):
  48. pass
  49. if __name__ == "__main__":
  50. unittest.main()