import unittest from turtlegeo.PolygonDrawer import PolygonDrawer class MotionRedording: def __init__(self): self._motion = [] self._heading = 60 def heading(self): self._motion.append("heading") return self._heading def teleport(self, x, y): self._motion.append(f"teleport:{x},{y}") def forward(self, length): self._motion.append(f"forward:{length}") pass def left(self, degree): self._motion.append(f"left:{degree}") pass def setheading(self, head): self._motion.append(f"setheading:{head}") pass def motion(self): return self._motion class PolygonDrawerTestCase(unittest.TestCase): def test_triangle(self): dummyTurtle = MotionRedording() t = PolygonDrawer(dummyTurtle) t.triangle(30, 3, 4) # print(dummyTurtle.motion()) result = dummyTurtle.motion() self.assertEqual(9, len(result)) forward = [step for step in result if step.startswith("forward")] self.assertEqual(3, len(forward)) pass if __name__ == '__main__': unittest.main()