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)