Exemple #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)
Exemple #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))
Exemple #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)
Exemple #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)
Exemple #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")))
Exemple #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())
Exemple #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())
Exemple #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())
Exemple #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))
Exemple #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)