def test_generate_marshall_method_bodies():
class OneFieldSchema(Schema):
foo = fields.Integer()
context = JitContext()
result = generate_method_bodies(OneFieldSchema(), context)
expected = '''\
def InstanceSerializer(obj):
res = {}
value = obj.foo; value = value() if callable(value) else value; \
value = int(value); res["foo"] = value
return res
def DictSerializer(obj):
res = {}
if "foo" in obj:
value = obj["foo"]; value = value() if callable(value) else value; \
value = int(value); res["foo"] = value
return res
def HybridSerializer(obj):
res = {}
try:
value = obj["foo"]
except (KeyError, AttributeError, IndexError, TypeError):
value = obj.foo
value = value; value = value() if callable(value) else value; \
value = int(value); res["foo"] = value
return res'''
assert expected == result
评论列表
文章目录