예제 #1
0
 def test_to_result_returns_hydrated_result_for_safe(self):
     s = SafeResult("3", result_handler=JSONResultHandler())
     res = s.to_result()
     assert isinstance(res, Result)
     assert res.value == 3
     assert res.safe_value is s
     assert res.result_handler is s.result_handler
예제 #2
0
    def test_to_result_uses_provided_result_handler(self):
        class WeirdHandler(ResultHandler):
            def read(self, loc):
                return 99

        r = SafeResult("4", result_handler=JSONResultHandler())
        out = r.to_result(result_handler=WeirdHandler())
        assert isinstance(out, Result)
        assert isinstance(out.result_handler, WeirdHandler)
        assert out.value == 99
        assert isinstance(out.safe_value.result_handler, WeirdHandler)
예제 #3
0
 def test_safe_results_to_results_remain_the_same(self):
     r = SafeResult("3", result_handler=JSONResultHandler())
     s = SafeResult("3", result_handler=JSONResultHandler())
     assert r.to_result() == s.to_result()