def test_a_single_block_of_parallel_platform_moves_correctly_after_hitting_the_wall(self): platform = ParallelPlatformer(positions=[(1, 1)], directions=[(-1, 0)]) platform.move_blocks() self.assertEqual(1, len(platform.get_block_positions())) self.assertTrue(platform.block_position_exists((2, 1))) self.assertListEqual([(2, 1)], platform.get_block_positions()) self.assertListEqual([(1, 0)], platform.get_block_directions())
def test_a_single_block_moves_one_iteration_successfully(self): platform = ParallelPlatformer(positions=[(2, 1)], directions=[(-1, 0)]) platform.move_blocks() self.assertEqual(1, len(platform.get_block_positions())) self.assertTrue(platform.block_position_exists((1, 1))) self.assertListEqual([(1, 1)], platform.get_block_positions()) self.assertListEqual([(-1, 0)], platform.get_block_directions())
def test_two_blocks_move_two_iterations_successfully(self): platform = ParallelPlatformer(positions=[(3, 1), (3, 2)], directions=[(-1, 0), (1, 0)]) for i in range(2): platform.move_blocks() self.assertEqual(2, len(platform.get_block_positions())) self.assertTrue(platform.block_position_exists((1, 1))) self.assertTrue(platform.block_position_exists((5, 2))) self.assertListEqual([(1, 1), (5, 2)], platform.get_block_positions()) self.assertListEqual([(-1, 0), (1, 0)], platform.get_block_directions())
def test_10_blocks_of_bigger_size_move_30_iterations_successfully(self): platform = ParallelPlatformer(number_blocks=2, block_size=5, plane=Plane(z=[0, 12])) for i in range(30): platform.move_blocks() self.assertEqual(2, len(platform.get_block_positions())) self.assertEqual(len(platform.get_block_positions()), len(list(set(platform.get_block_positions()))))
def test_10_blocks_move_30_iterations_successfully(self): platform = ParallelPlatformer(number_blocks=8) for i in range(30): platform.move_blocks() self.assertEqual(8, len(platform.get_block_positions())) self.assertEqual(len(platform.get_block_positions()), len(list(set(platform.get_block_positions()))))
def test_two_blocks_move_30_iterations_successfully(self): platform = ParallelPlatformer(positions=[(3, 1), (3, 2)], directions=[(-1, 0), (1, 0)]) for i in range(30): platform.move_blocks() self.assertEqual(2, len(platform.get_block_positions())) self.assertEqual(len(platform.get_block_positions()), len(list(set(platform.get_block_positions()))))