Esempio n. 1
0
 def test_memoize(self):
     s = state.State(())
     e = s.modify(
         lambda t: t + ('modify was called', )
     ).discard_and_then(effect.success('result')).memoize()
     double_e = e.discard_and_then(e)
     assert double_e.run(None) == 'result'
     assert s.value == ('modify was called', )
Esempio n. 2
0
 def test_try_modify(self):
     int_ref = state.State(0)
     int_ref.try_modify(lambda _: either.Left('')).either().run(None)
     assert int_ref.value == 0
     int_ref.try_modify(lambda _: either.Right(1)).run(None)
     assert int_ref.value == 1
Esempio n. 3
0
 def test_modify(self):
     int_ref = state.State(0)
     int_ref.modify(lambda _: 1).run(None)
     assert int_ref.value == 1
Esempio n. 4
0
 def test_put(self):
     int_ref = state.State(0)
     int_ref.put(1).run(None)
     assert int_ref.value == 1
Esempio n. 5
0
 def test_get(self):
     int_ref = state.State(0)
     assert int_ref.get().run(None) == 0