Exemplo n.º 1
0
 def save(self, map_to_save):
     # deep copy
     backup = DuckietownMap(empty=True)
     # Fill backup layers
     for layer in map_to_save.layers:
         backup.add_layer(copy.deepcopy(layer))
     if len(self.memento) == self.memento.maxlen - 1:
         self.memento.popleft()
     self.memento.append(backup)
 def save(self, map):
     # deep copy
     backup = DuckietownMap()
     backup.tiles = [[]]
     for i in range(len(map.tiles)):
         backup.tiles.append([])
         for j in range(len(map.tiles[i])):
             backup.tiles[i].append(copy.copy(map.tiles[i][j]))
     if map.items:
         for i in range(len(map.items)):
             backup.items.append(map.items[i])
     if len(self.memento) == self.memento.maxlen - 1:
         self.memento.popleft()
     self.memento.append(backup)
    def test_map_to_yaml_without_yaml(self):
        map = DuckietownMap()
        map.tiles = tiles_to_objects(
            get_tiles('../maps/regress_4way_adam.yaml'))
        map.items = map_objects_to_objects(
            get_objects('../maps/regress_4way_adam.yaml'))

        map_to_yaml(map, '../maps/test_result')

        new_map = DuckietownMap()
        new_map.tiles = tiles_to_objects(get_tiles('../maps/test_result.yaml'))
        new_map.items = map_objects_to_objects(
            get_objects('../maps/test_result.yaml'))

        for tile, new_tile in zip(
                np.array(map.tiles).flat,
                np.array(new_map.tiles).flat):
            self.assertEqual(tile.kind, new_tile.kind)
            self.assertEqual(tile.rotation, new_tile.rotation)

        for obj, new_obj in zip(map.items, new_map.items):
            self.assertEqual(obj.kind, new_obj.kind)
            self.assertEqual(obj.position, new_obj.position)
            self.assertEqual(obj.rotation, new_obj.rotation)
            self.assertEqual(obj.height, new_obj.height)
            self.assertEqual(obj.optional, new_obj.optional)
            self.assertEqual(obj.static, new_obj.static)
    def test_map_to_yaml_without_objects(self):

        map = DuckietownMap()
        map.tiles = tiles_to_objects(
            get_tiles('../maps/regress_4way_drivable.yaml'))
        map.items = map_objects_to_objects(
            get_objects('../maps/regress_4way_drivable.yaml'))

        map_to_yaml(map, '../maps/test_result.yaml')

        new_map = DuckietownMap()
        new_map.tiles = tiles_to_objects(get_tiles('../maps/test_result.yaml'))
        new_map.items = map_objects_to_objects(
            get_objects('../maps/test_result.yaml'))

        for tile, new_tile in zip(
                np.array(map.tiles).flat,
                np.array(new_map.tiles).flat):
            self.assertEqual(tile.kind, new_tile.kind)
            self.assertEqual(tile.rotation, new_tile.rotation)
        self.assertEqual(map.items, new_map.items)
Exemplo n.º 5
0
    def test_map_to_yaml_2(self):
        map = DuckietownMap()
        map.set_tile_layer(
            tiles_to_objects(data_from_file('../maps/test.yaml').get('tiles')))
        map.set_item_layer(
            map_objects_to_objects(
                data_from_file('../maps/test.yaml').get('objects')))

        map_to_yaml(map, '../maps/test_result.yaml')

        new_map = DuckietownMap()
        new_map.set_tile_layer(
            tiles_to_objects(
                data_from_file('../maps/test_result.yaml').get('tiles')))
        new_map.set_item_layer(
            map_objects_to_objects(
                data_from_file('../maps/test_result.yaml').get('objects')))

        for tile, new_tile in zip(
                np.array(map.get_tile_layer().data).flat,
                np.array(new_map.get_tile_layer().data).flat):
            self.assertEqual(tile.kind, new_tile.kind)
            self.assertEqual(tile.rotation, new_tile.rotation)

        for obj, new_obj in zip(map.get_item_layer().data,
                                new_map.get_item_layer().data):
            self.assertEqual(obj.kind, new_obj.kind)
            self.assertEqual(obj.position, new_obj.position)
            self.assertEqual(obj.rotation, new_obj.rotation)
            self.assertEqual(obj.height, new_obj.height)
            self.assertEqual(obj.optional, new_obj.optional)
            self.assertEqual(obj.static, new_obj.static)
Exemplo n.º 6
0
    def test_map_to_yaml_without_objects(self):

        map = DuckietownMap()
        map.set_tile_layer(
            tiles_to_objects(
                data_from_file('../maps/regress_4way_drivable.yaml').get(
                    'tiles')))
        map.set_item_layer(
            map_objects_to_objects(
                data_from_file('../maps/regress_4way_drivable.yaml').get(
                    'objects')))

        map_to_yaml(map, '../maps/test_result.yaml')

        new_map = DuckietownMap()
        new_map.set_tile_layer(
            tiles_to_objects(
                data_from_file('../maps/test_result.yaml').get('tiles')))
        new_map.set_item_layer(
            map_objects_to_objects(
                data_from_file('../maps/test_result.yaml').get('objects')))

        for tile, new_tile in zip(
                np.array(map.get_tile_layer().data).flat,
                np.array(new_map.get_tile_layer().data).flat):
            self.assertEqual(tile.kind, new_tile.kind)
            self.assertEqual(tile.rotation, new_tile.rotation)
        self.assertEqual(map.get_item_layer().data,
                         new_map.get_item_layer().data)