def test_serialization(): ax = DummyA(1, 10) bx = DummyB('2', 2) fun_serializer = FunctionSerializer() a = InMemoryDataSource(DummyA) b = InMemoryDataSource(DummyB) raw = RawDataSource() e = 'smache:functions:' \ '"tests.integration.test_function_serialization/score"' \ '~~~1~~~"2"~~~500' \ '***(dp0\nS\'resolved\'\np1\nI01\ns.' computed_fun = ComputedFunction(score, [a, b, raw]) key = fun_serializer.serialized_fun(computed_fun, ax, bx, 500, resolved=True) assert key == e expected_deserialization = ( "tests.integration.test_function_serialization/score", [1, '2', 500], {"resolved": True} ) assert fun_serializer.deserialized_fun(key) == expected_deserialization
def test_de_and_serialization_of_no_arg_fun(): fun_serializer = FunctionSerializer() computed_fun = ComputedFunction(score, []) key = fun_serializer.serialized_fun(computed_fun) assert key == 'smache:functions:' \ '"tests.integration.test_function_serialization/score"' assert fun_serializer.deserialized_fun(key) == ( "tests.integration.test_function_serialization/score", [], {} )