summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorINADA Naoki <songofacandy@gmail.com>2010-10-26 01:31:27 +0900
committerINADA Naoki <songofacandy@gmail.com>2010-10-26 01:31:27 +0900
commitc355f224dc4293683a426e8620a07724ab0e75ac (patch)
tree49b7d86e0be500bb8513ebf53f36536c72b42090
parentfa157082ac8db71e3312ca97fe1ceb7f56546fcb (diff)
downloadmsgpack-python-c355f224dc4293683a426e8620a07724ab0e75ac.tar.gz
Add test for Python3.
-rw-r--r--test3/test_obj.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/test3/test_obj.py b/test3/test_obj.py
new file mode 100644
index 0000000..972d1ca
--- /dev/null
+++ b/test3/test_obj.py
@@ -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()