mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-03-27 16:50:52 +01:00
Add test for Python3.
This commit is contained in:
parent
70982e204c
commit
6fa609be3f
31
python/test3/test_obj.py
Normal file
31
python/test3/test_obj.py
Normal file
@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env python
|
||||
# coding: utf-8
|
||||
|
||||
from nose import main
|
||||
from nose.tools import *
|
||||
|
||||
from msgpack import packs, unpacks
|
||||
|
||||
def _decode_complex(obj):
|
||||
if b'__complex__' in obj:
|
||||
return complex(obj[b'real'], obj[b'imag'])
|
||||
return obj
|
||||
|
||||
def _encode_complex(obj):
|
||||
if isinstance(obj, complex):
|
||||
return {b'__complex__': True, b'real': 1, b'imag': 2}
|
||||
return obj
|
||||
|
||||
def test_encode_hook():
|
||||
packed = packs([3, 1+2j], default=_encode_complex)
|
||||
unpacked = unpacks(packed)
|
||||
eq_(unpacked[1], {b'__complex__': True, b'real': 1, b'imag': 2})
|
||||
|
||||
def test_decode_hook():
|
||||
packed = packs([3, {b'__complex__': True, b'real': 1, b'imag': 2}])
|
||||
unpacked = unpacks(packed, object_hook=_decode_complex)
|
||||
eq_(unpacked[1], 1+2j)
|
||||
|
||||
if __name__ == '__main__':
|
||||
#main()
|
||||
test_decode_hook()
|
Loading…
x
Reference in New Issue
Block a user