Exemplo n.º 1
0
 def test_right_identity_with_IDENTITY(self):
     self.assertEqual(
         ListMonad(1, 2, 3) + ListMonad.identity_element(),
         ListMonad(1, 2, 3) + IDENTITY)
Exemplo n.º 2
0
 def test_associativity(self):
     self.assertEqual(
         (ListMonad(1, 2, 3) + ListMonad(4, 5, 6)) + ListMonad(7, 8, 9),
         ListMonad(1, 2, 3) + (ListMonad(4, 5, 6) + ListMonad(7, 8, 9)))
Exemplo n.º 3
0
 def test_left_identity_with_IDENTITY(self):
     self.assertEqual(ListMonad.identity_element() + ListMonad(1, 2, 3),
                      IDENTITY + ListMonad(1, 2, 3))
Exemplo n.º 4
0
 def test_identity_element(self):
     self.assertEqual(ListMonad.identity_element(), ListMonad())
Exemplo n.º 5
0
 def test_right_identity(self):
     self.assertEqual(ListMonad(1, 2, 3),
                      ListMonad(1, 2, 3) + ListMonad.identity_element())
Exemplo n.º 6
0
 def test_len(self):
     self.assertEqual(len(ListMonad(1, 2, 3)), 3)
Exemplo n.º 7
0
 def test_proper_output(self):
     self.assertEqual(
         ListMonad.apply(common_tests.add).to_arguments(
             ListMonad(1, 2, 3), ListMonad(4, 5, 6)),
         ListMonad(5, 6, 7, 6, 7, 8, 7, 8, 9))
Exemplo n.º 8
0
 def test_slicing_with_step(self):
     self.assertEqual(ListMonad(1, 2, 3, 4, 5)[::2], ListMonad(1, 3, 5))
Exemplo n.º 9
0
 def test_slicing(self):
     self.assertEqual(ListMonad(1, 2, 3)[:], ListMonad(1, 2, 3))
     self.assertEqual(ListMonad(1, 2, 3)[1:], ListMonad(2, 3))
     self.assertEqual(ListMonad(1, 2, 3)[2:], ListMonad(3))
Exemplo n.º 10
0
 def test_indexing(self):
     self.assertEqual(ListMonad(1, 2, 3)[0], 1)
     self.assertEqual(ListMonad(1, 2, 3)[1], 2)
     self.assertEqual(ListMonad(1, 2, 3)[2], 3)
Exemplo n.º 11
0
 def test_insert(self):
     self.assertEqual(ListMonad.insert(1), ListMonad(1))
Exemplo n.º 12
0
 def test_repr(self):
     self.assertEqual(str(ListMonad(1, 2, 3)), '[1, 2, 3]')