Пример #1
0
 def test_Failure_equal_is_transtitive(self):
     "Validates that `Failure.__eq__` is implemented as a transitive relation"
     result_1 = Failure(1, "Because")
     result_2 = Failure(1, "Because")
     result_3 = Failure(1, "Because")
     self.assertEqual(result_1, result_2)
     self.assertEqual(result_2, result_3)
     self.assertEqual(result_1, result_3)
Пример #2
0
 def test_Failure_are_equal_when_type_pos_and_reason_are_equal(self):
     """
     This test validates that two `Failure` objects are considered equal
     iff the two have the same type, reason and the same position.
     """
     self.assertEqual(   Failure(1, "Because"), Failure(1, "Because"))
     self.assertNotEqual(Failure(1, "Because"), Failure(2, "Because"))
     self.assertNotEqual(Failure(1, "Because"), Failure(1, "because"))
     self.assertNotEqual(Failure(1, "Because"), Failure(1, 42))
     self.assertNotEqual(Failure(1, "Because"), NotQuiteSuccess(1, "Because", False))
Пример #3
0
 def test_Failure_equal_is_reflexive(self):
     "Validates that `Failure.__eq__` is implemented as a reflexive relation"
     result = Failure(1, "Because !")
     self.assertEqual(result, result)
Пример #4
0
 def test_Failure_transform_yields_self(self):
     "Validates that transform has no effect on a `Failure`"
     failure = Failure(1, "YOU ARE SCREWED !")
     action  = lambda x: x.lower()
     self.assertEqual(failure.transform(action), failure)
Пример #5
0
 def test_Failure_string_representation(self):
     "Validates the string representation of the `Failure` object"
     self.assertEqual("Failure(42, Because it is that way)", str(Failure(42, "Because it is that way")))
Пример #6
0
 def test_Failure_has_no_value(self):
     "The `success` method of a `Failure` object should (by definition) yield None"
     self.assertIsNone(Failure(1, "True").value())
Пример #7
0
 def test_Failure_has_some_reason(self):
     "The `reason` method of a `Failure` object should provide an hint on the cause of the failure"
     self.assertEqual("Because", Failure(1, "Because").reason())
Пример #8
0
 def test_Failure_is_not_success(self):
     "The `success` method of a `Failure` object should (by definition) yield False"
     self.assertFalse(Failure(1, "True").success())
Пример #9
0
 def test_Failure_equal_is_consistent_with_hash(self):
     "Validates that `Failure.__eq__` is consistent with `Failure.__hash__`"
     result_1 = Failure(1, "Failure")
     result_2 = Failure(1, "Failure")
     self.assertEqual(result_1, result_2)
     self.assertEqual(hash(result_2), hash(result_1))
Пример #10
0
 def test_Failure_equal_is_symmetric(self):
     "Validates that `Failure.__eq__` is implemented as a symmetric relation"
     result_1 = Failure(1, "Because")
     result_2 = Failure(1, "Because")
     self.assertEqual(result_1, result_2)
     self.assertEqual(result_2, result_1)