Example #1
0
    def test_bind(self):
        value = 9
        f = lambda a: a * 10
        j = return_(value)
        monad = j >= (lambda a: Just(f(a)))

        self.assertEquals(Just(f(value)), monad)
Example #2
0
 def test_eq(self):
     self.assertTrue(Just(10) == return_(10))
     self.assertFalse(Just(10) == None)
     self.assertFalse(Just(10) == object())
Example #3
0
 def test_zero(self):
     self.assertTrue(return_(False))
     self.assertTrue(return_(0))
     self.assertTrue(return_(""))
     self.assertTrue(return_(list()))
     self.assertTrue(return_(dict()))
Example #4
0
 def test_ne(self):
     self.assertNotEquals(Just(11), return_(10))
     self.assertNotEquals(Just(11), None)
     self.assertNotEquals(Just(11), object())
Example #5
0
 def test_eq(self):
     self.assertEquals(Just(10), return_(10))