Пример #1
0
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')
Пример #2
0
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')
Пример #3
0
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')
Пример #4
0
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')
Пример #5
0
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