def test_map_pathfinding(self): pathmap = Map((10, 10), []) self.assertEquals([(9, 9)], pathmap.get_shortest_path((0, 0), (9, 9))) pathmap = Map((10, 5), [ Obstacle('SOLID', (0, 1), (9, 1)), Obstacle('IMPASSABLE', (1, 3), (9, 1)) ]) v_map = "0000000000\n" + \ "0111111111\n" + \ "0000000000\n" + \ "2222222220\n" + \ "0000000000\n" self.assertEquals(pathmap.get_grid_display(), v_map) self.assertEquals( [(8, 0), (9, 1), (8, 2), (1, 2), (0, 3), (1, 4), (9, 4)], pathmap.get_shortest_path((0, 0), (9, 4)) ) pathmap = Map((10, 5), [ Obstacle('SOLID', (0, 2), (10, 1)), ]) v_map = "0000000000\n" + \ "0000000000\n" + \ "2222222222\n" + \ "0000000000\n" + \ "0000000000\n" self.assertEquals(pathmap.get_grid_display(), v_map) self.assertEquals([], pathmap.get_shortest_path((0, 0), (9, 4)))
def test_map_grid_creation(self): t_map = Map((10, 75), []) self.assertEqual(len(t_map.grid), 10) # X values self.assertEqual(len(t_map.grid[0]), 75) # Y values t_map = Map( (10, 50), [ Obstacle('SOLID', [1, 1], [3, 5]), # Start at map (1, 1), 3 wide 5 tall Obstacle('IMPASSABLE', [4, 6], [6, 20]), # Start at map (4, 6), 6 wide 20 tall Obstacle('NORMAL', [0, 4], [10, 10]), # Ignore this, Normal obstacles are 0 Obstacle('SOLID', [0, 40], [30, 1]) # Start at map (0, 20), 30 wide 1 tall (test oob objects) ] ) ref_v_map = "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "2222222222\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000000000\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0000111111\n" + \ "0222000000\n" + \ "0222000000\n" + \ "0222000000\n" + \ "0222000000\n" + \ "0222000000\n" + \ "0000000000\n" self.assertEquals(t_map.get_grid_display(), ref_v_map)