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
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)
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()