Exemple #1
0
def test_Getter_composes_correctly():
    visited = []

    def visit(item):
        visited.append(item)
        return item

    my_lens = b.EachTraversal() & b.Getter(visit) & b.EachTraversal()
    my_lens.to_list_of(([1, 2, 3], [4, 5, 6], [7, 8, 9]))
    assert visited == [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Exemple #2
0
def test_lens_and():
    my_lens = b.EachTraversal() & b.GetitemLens(1)
    assert my_lens.set([(0, 1), (2, 3)], 4) == [(0, 4), (2, 4)]
Exemple #3
0
def test_LensLike_no_focus_raises():
    with pytest.raises(ValueError):
        b.EachTraversal().view([])
Exemple #4
0
def test_TupleLens_only_works_with_lenses():
    with pytest.raises(TypeError):
        b.TupleLens(b.EachTraversal())
Exemple #5
0
def test_FilteringPrism_set():
    l = b.EachTraversal() & b.FilteringPrism(lambda a: a > 0)
    assert l.set([1, -1, 1], 3) == [3, -1, 3]
Exemple #6
0
def test_FilteringPrism_to_list_of():
    l = b.EachTraversal() & b.FilteringPrism(lambda a: a > 0)
    assert l.to_list_of([1, -1, 1]) == [1, 1]
Exemple #7
0
def test_EachTraversal_set_empty():
    assert b.EachTraversal().set([], 4) == []
Exemple #8
0
def test_EachTraversal_to_list_of_empty():
    assert b.EachTraversal().to_list_of([]) == []
Exemple #9
0
def test_EachTraversal_over_on_set():
    assert b.EachTraversal().over({1, 2, 3}, lambda a: a + 1) == {2, 3, 4}
Exemple #10
0
def test_EachTraversal_set_on_set():
    assert b.EachTraversal().set({1, 2, 3}, 4) == {4}
Exemple #11
0
def test_EachTraversal_to_list_of_on_set():
    assert sorted(b.EachTraversal().to_list_of({1, 2, 3})) == [1, 2, 3]
Exemple #12
0
def test_EachTraversal_set():
    assert b.EachTraversal().set([1, 2, 3], 4) == [4, 4, 4]
Exemple #13
0
def test_EachTraversal_to_list_of():
    assert b.EachTraversal().to_list_of([1, 2, 3]) == [1, 2, 3]