def test_Functorisor_call(): f = Functorisor(lambda a: [], lambda a: [a]) assert f(1) == [1]
def test_Functorisor_get_pure(): f = Functorisor(lambda a: [], lambda a: [a]) assert f.get_pure(1) == []
def test_Functorisor_fmap(): f = Functorisor(lambda a: [], lambda a: [a]) assert f.fmap(lambda a: a + 1)(1) == f(2)
def test_Functorisor_replace_func(): f = Functorisor(lambda a: [], lambda a: [a]) assert f.replace_func(lambda a: None)(1) is None
import lenses.typeclass as tc from lenses.functorisor import Functorisor from lenses.identity import Identity from lenses.maybe import Just, Nothing ident = Functorisor(lambda a: Identity(a), lambda a: Identity(4)) def test_traversal_list_using_identity(): assert tc.traverse([1, 2, 3], ident) == Identity([4, 4, 4]) def test_traversal_empty_list_using_identity(): assert tc.traverse([], ident) == Identity([]) def test_traversal_just_using_identity(): assert tc.traverse(Just(1), ident) == Identity(Just(4)) def test_traversal_nothing_using_identity(): assert tc.traverse(Nothing(), ident) == Identity(Nothing())