def test_lens_and(): my_lens = b.EachTraversal() & b.GetitemLens(1) assert my_lens.set([(0, 1), (2, 3)], 4) == [(0, 4), (2, 4)]
def test_cannot_preview_with_setter(): with pytest.raises(TypeError): b.ForkedSetter(b.GetitemLens(0), b.GetitemLens(1)).preview([1, 2])
def test_cannot_to_list_of_with_setter(): with pytest.raises(TypeError): b.ForkedSetter(b.GetitemLens(0), b.GetitemLens(1)).to_list_of([1, 2])
def test_ZoomTraversal_view(): l = b.GetitemLens(0) & b.ZoomTraversal() data = [bind([1, 2, 3])[1]] assert l.view(data) == 2
def test_ZoomTraversal_set(): l = b.GetitemLens(0) & b.ZoomTraversal() data = [bind([1, 2, 3])[1]] assert l.set(data, 7) == [[1, 7, 3]]
def test_ItemsTraversal_over_empty(): my_lens = b.ItemsTraversal() & b.GetitemLens(0) assert my_lens.over({}, lambda a: a + 1) == {}
def test_ItemsTraversal_over(): data = {0: 'zero', 1: 'one'} my_lens = b.ItemsTraversal() & b.GetitemLens(0) assert my_lens.over(data, lambda a: a + 1) == {1: 'zero', 2: 'one'}
def test_GetitemLens_set(): assert b.GetitemLens(0).set([1, 2, 3], 4) == [4, 2, 3]
def test_GetitemLens_view(): assert b.GetitemLens(0).view([1, 2, 3]) == 1
def test_ItemsTraversal_over(): data = {0: "zero", 1: "one"} my_lens = b.ItemsTraversal() & b.GetitemLens(0) assert my_lens.over(data, lambda a: a + 1) == {1: "zero", 2: "one"}