def test_layer_list_empty(desert): ground = desert.layers[0] def check_names(names_string): names = names_string.split() assert [l.name for l in desert.layers] == names del desert.layers[:] check_names('') desert.add_layer('Sky') check_names('Sky') del desert.layers[:] desert.layers.append(ground) check_names('Ground') del desert.layers[:] desert.layers.insert(0, ground) check_names('Ground') del desert.layers[:] desert.layers.insert(1, ground) check_names('Ground') del desert.layers[:] desert.layers.insert(-1, ground) check_names('Ground')
def test_layer_list(desert): different_map = tmxlib.Map.open(get_test_filename('desert.tmx')) desert.add_layer('Sky') desert.add_tile_layer('Underground', before='Ground') desert.add_object_layer('Grass', after='Ground') def check_names(names_string): names = names_string.split() assert [l.name for l in desert.layers] == names check_names('Underground Ground Grass Sky') assert [l.name for l in desert.layers[2:]] == 'Grass Sky'.split() assert [l.name for l in desert.layers[:2]] == 'Underground Ground'.split() assert [l.name for l in desert.layers[::2]] == 'Underground Grass'.split() assert [l.name for l in desert.layers[1::2]] == 'Ground Sky'.split() assert [l.name for l in desert.layers[:2:2]] == 'Underground'.split() assert [l.name for l in desert.layers[1:3]] == 'Ground Grass'.split() assert [l.name for l in desert.layers[-2:]] == 'Grass Sky'.split() assert [l.name for l in desert.layers[:-2]] == 'Underground Ground'.split() assert [l.name for l in desert.layers[::-2]] == 'Sky Ground'.split() assert [l.name for l in desert.layers[-2::-2]] == 'Grass Underground'.split() assert [l.name for l in desert.layers[:-2:-2]] == 'Sky'.split() assert [l.name for l in desert.layers[-3:-1]] == 'Ground Grass'.split() ground = desert.layers[1] assert ground.name == 'Ground' del desert.layers[1::2] check_names('Underground Grass') two_layers = list(desert.layers) del desert.layers[1] check_names('Underground') desert.layers[0] = ground check_names('Ground') desert.layers[1:] = two_layers check_names('Ground Underground Grass') del desert.layers[:1] desert.layers[1:1] = [ground] check_names('Underground Ground Grass') with pytest.raises(ValueError): desert.layers[0] = different_map.layers[0] desert.layers.move('Grass', -2) check_names('Grass Underground Ground') desert.layers.move('Ground', -20) check_names('Ground Grass Underground') desert.layers.move('Underground', -1) check_names('Ground Underground Grass') desert.layers.move('Underground', 1) check_names('Ground Grass Underground') desert.layers.move('Ground', 20) check_names('Grass Underground Ground') desert.layers.move('Grass', 2) check_names('Underground Ground Grass')
def test_layer_nonzero(desert): assert desert.layers[0] layer = desert.add_layer('Tile layer') assert not layer layer[0, 0] = 1 assert layer layer = desert.add_object_layer('Object layer') assert not layer layer.append(tmxlib.RectangleObject(layer, (0, 0), size=(3, 3))) assert layer layer[:] = [] assert not layer layer.append(tmxlib.EllipseObject(layer, (0, 0), size=(3, 3))) assert layer layer[:] = [] assert not layer layer.append(tmxlib.RectangleObject(layer, (0, 0), value=4)) assert layer