class TestMoving(unittest.TestCase): def setUp(self): self.scene = Scene(field=(100, 100), theme_mod_path='tests.default_theme') def test_move_at_point(self): obj = GameObject(coord=Point(x=10, y=10)) obj.move_at(target=Point(x=10, y=300), speed=2) for i in range(5): self.scene.game_step() self.assertEqual(obj.y, 20)
class TestMoving(unittest.TestCase): def setUp(self): self.scene = Scene(field=(100, 100), theme_mod_path='robogame_engine.tests.default_theme') def test_move_at_point(self): obj = GameObject(coord=Point(x=10, y=10)) obj.move_at(target=Point(x=10, y=300), speed=2) for i in range(5): self.scene.game_step() self.assertEqual(obj.y, 20)
class TestTurning(unittest.TestCase): def setUp(self): self.scene = Scene(field=(100, 100), theme_mod_path='robogame_engine.tests.default_theme') def test_turn_to_direction(self): obj = GameObject(coord=Point(x=10, y=10), direction=0) obj.turn_to(target=30, speed=10) obj.on_stop = mock.MagicMock() for _ in range(3): self.scene.game_step() self.scene.game_step() # событие происходит на след шаге игры self.assertEqual(obj.on_stop.call_count, 1)
class TestTurning(unittest.TestCase): def setUp(self): self.scene = Scene(field=(100, 100), theme_mod_path='tests.default_theme') def test_turn_to_direction(self): obj = GameObject(coord=Point(x=10, y=10), direction=0) obj.turn_to(target=30, speed=10) obj.on_stop = mock.MagicMock() for _ in range(3): self.scene.game_step() self.scene.game_step() # событие происходит на след шаге игры self.assertEqual(obj.on_stop.call_count, 1)
class TestMoving(unittest.TestCase): def setUp(self): self.scene = Scene(field=(100, 100), theme_mod_path='tests.default_theme') def test_move_at_point(self): obj = GameObject(coord=Point(x=10, y=10), direction=180) obj.on_stop_at_target = mock.MagicMock() obj.move_at(target=Point(x=10, y=20), speed=2) for i in range(6): # TODO почему 6 шагов? проверить и понять self.scene.game_step() self.assertEqual(obj.y, 20) self.scene.game_step() # событие происходит на след шаге игры self.assertEqual(obj.on_stop_at_target.call_count, 1) def test_boundary_speed_less_radius(self): obj = GameObject(coord=Point(x=10, y=10), radius=5) obj.move_at(target=Point(x=-10, y=10), speed=3) for i in range(5): self.scene.game_step() # 10 - 3 - 3 - 3 (выход за границы) + 5 (отталкивание) и стоп self.assertEqual(obj.x, 6) def test_boundary_speed_more_radius(self): obj = GameObject(coord=Point(x=5, y=10), radius=2) obj.move_at(target=Point(x=-5, y=10), speed=3) for i in range(5): self.scene.game_step() # 5 - 3 - 3 (выход за границы) + 2 (отталкивание) и стоп self.assertEqual(obj.x, 3)
def setUp(self): self.scene = Scene(field=(100, 100), theme_mod_path='tests.default_theme')
def setUp(self): self.scene = Scene(field=(100, 100), theme_mod_path='robogame_engine.tests.default_theme')
def setUp(self): self.scene = Scene( field=(100, 100), theme_mod_path='robogame_engine.tests.default_theme')