def test_None(self, ser_type): serializer = create_serializer(ser_type) serializer = create_serializer('json') strin = serializer.dumps(serializer, example_None) print(f'Our string : {strin} **********************') obj = serializer.loads(serializer, strin) print(f'Our object : {obj} ************************') assert serializer.loads(serializer, serializer.dumps(serializer, example_None)) == example_None
def test_invalid_format(self, ser_type): serializer = create_serializer(ser_type) invalid = {"field": "smth", "new_field": {"a", "b", "c"}} serializer = create_serializer('json') try: serializer.loads(serializer, invalid) except Exception as e: assert type(e) == ValueError
def test_convert_format(self, ser_type): json_serializer = create_serializer('json') yaml_serializer = create_serializer('json') res = json_serializer.load(json_serializer, 'results/class_2.json', False) yaml_serializer.dump(yaml_serializer, res, 'results/converted_class_2.yaml', False) res = yaml_serializer.load(yaml_serializer, 'results/class_2.json', False) json_serializer.dump(json_serializer, res, 'results/converted_class_2.json', False) obj1 = json_serializer.load(json_serializer, 'results/converted_class_2.json') obj2 = yaml_serializer.load(yaml_serializer, 'results/converted_class_2.json') assert dir(obj1) == dir(obj2)
def test_class_1(self, ser_type): ser_type='json' serializer = create_serializer(ser_type) serializer.dump(serializer, example_class_1, f'results/class_1.{ser_type}') res = serializer.load(serializer, f'results/class_1.{ser_type}') assert dir(res) == dir(example_class_1) assert res.a == example_class_1.a assert res.c == example_class_1.c
def test_instance_1(self, ser_type): serializer = create_serializer('json') res = serializer.loads(serializer, serializer.dumps(serializer, example_instance_1)) assert dir(res) == dir(example_instance_1) assert res.a == example_instance_1.a assert res.b == example_instance_1.b assert res.c == example_instance_1.c assert res.d == example_instance_1.d assert isinstance(res, example_class_1)
def test_instance_1(self, ser_type): ser_type='json' serializer = create_serializer(ser_type) serializer.dump(serializer, example_instance_1, f'results/instance_1.{ser_type}') res = serializer.load(serializer, f'results/instance_1.{ser_type}') assert dir(res) == dir(example_instance_1) assert res.a == example_instance_1.a assert res.b == example_instance_1.b assert res.c == example_instance_1.c assert res.d == example_instance_1.d assert isinstance(res, example_class_1)
def test_class_2(self, ser_type): serializer = create_serializer('json') res = serializer.loads(serializer, serializer.dumps(serializer, example_class_2)) assert dir(res) == dir(example_class_2) assert res.a == example_class_2.a assert res.c == example_class_2.c #instances comparison assert isinstance(res('~$~'), example_class_2) assert res.some_class_func(res) == example_class_2.some_class_func(example_class_2) assert res('$').some_class_func() == example_class_2('$').some_class_func() assert res('a string').e == example_class_2('a string').e
def test_set(self, ser_type): serializer = create_serializer('json') assert serializer.loads(serializer, serializer.dumps(serializer, example_set)) == example_set
def test_datetime(self, ser_type='json'): serializer = create_serializer(ser_type) assert serializer.loads(serializer, serializer.dumps(serializer, example_datetime)) == example_datetime
def test_gen(self, ser_type): serializer = create_serializer('json') res = serializer.loads(serializer, serializer.dumps(serializer, example_generator)) assert [item for item in res(10)] == [item for item in example_generator(10)]
def test_inner_func(self, ser_type): serializer = create_serializer('json') assert serializer.loads(serializer, serializer.dumps(serializer, example_with_inner_func))(9) == example_with_inner_func(9)
def test_class_3(self, ser_type): serializer = create_serializer('json') res = serializer.loads(serializer, serializer.dumps(serializer, example_class_3)) assert dir(res) == dir(example_class_3) assert res.static_method() == example_class_3.static_method() assert res.class_method() == example_class_3.class_method()
def test_class_1(self, ser_type): serializer = create_serializer('json') res = serializer.loads(serializer, serializer.dumps(serializer, example_class_1)) assert dir(res) == dir(example_class_1) assert res.a == example_class_1.a assert res.c == example_class_1.c
def test_return_func(self, ser_type): serializer = create_serializer('json') assert serializer.loads(serializer, serializer.dumps(serializer, example_func_return_func))()() == example_func_return_func()()
def test_dict(self, ser_type): serializer = create_serializer('json') print(serializer.loads(serializer, serializer.dumps(serializer, example_dict)), '\n ***\n', example_dict, '\n') assert serializer.loads(serializer, serializer.dumps(serializer, example_dict)) == example_dict
def test_invalid_serializer(self): try: invalid_serializer = create_serializer('* Something wrong *') except Exception as e: assert type(e) == ValueError
def test_class_4(self, ser_type): serializer = create_serializer('json') res = serializer.loads(serializer, serializer.dumps(serializer, example_class_4)) assert dir(res) == dir(example_class_4)
def test_lambda(self, ser_type): serializer = create_serializer('json') assert serializer.loads(serializer, serializer.dumps(serializer, example_lambda))('$') == example_lambda('$')
def test_recursion_func(self, ser_type): serializer = create_serializer('json') assert serializer.loads(serializer, serializer.dumps(serializer, example_recursion))(7) == example_recursion(7)