예제 #1
0
def test_get_values_bad_lists():
    rl = RangedList(value=range(10))
    with pytest.raises(TypeError):
        rl.get_values([2, -1, 4])
    with pytest.raises(TypeError):
        rl.get_values([2, 12, 4])
    with pytest.raises(TypeError):
        rl.get_values([2, True])
    with pytest.raises(TypeError):
        rl.get_values([2, "True"])
예제 #2
0
def test_get_values_list():
    rl = RangedList(value=range(10))
    assert [2, 6, 4] == rl.get_values([2, 6, 4])
예제 #3
0
def test_get_values_mask():
    rl = RangedList(value=["a", "b", "c", "d", "e"])
    assert ["a", "c", "e"] == rl.get_values([True, False, True, False, True])
    assert ["a", "c",
            "e"] == rl.get_values([True, False, True, False, True, True])
    assert ["a", "c"] == rl.get_values([True, False, True, False])
예제 #4
0
def test_get_values_complex_slice():
    rl = RangedList(value=range(10))
    assert [2, 4, 6] == rl.get_values(slice(-8, -3, 2))
예제 #5
0
def test_get_values_all():
    rl = RangedList(value=[1, 2, 3])
    assert [1, 2, 3] == rl.get_values()
예제 #6
0
def test_bad_selector():
    rl = RangedList(size=5, value=[0, 1, 2, 3, 4], key="alpha")
    with pytest.raises(TypeError):
        rl.get_values(34.23)
예제 #7
0
def test_negative_id():
    rl = RangedList(size=5, value=[0, 1, 2, 3, 4], key="alpha")
    assert rl.get_values(-2) == [3]
    rl[-2] = 13
    assert rl[3] == 13
    assert rl[-2] == 13
예제 #8
0
def test_slice_by_selector():
    rl = RangedList(size=5, value=[0, 1, 2, 3, 4], key="alpha")
    assert rl.get_values(slice(2, 3)) == [2]
    assert rl.get_values(slice(2, 4)) == [2, 3]