summaryrefslogtreecommitdiff
path: root/test/test_format.py
diff options
context:
space:
mode:
authorNaoki INADA <inada-n@eagle>2009-06-27 12:04:11 +0900
committerNaoki INADA <inada-n@eagle>2009-06-27 12:04:11 +0900
commit04d8fc114b256a80f1fac4e04352d487c47f6768 (patch)
treef0ac0afc9ee1bc27b927e9511aa69c693ab2fc4c /test/test_format.py
parent26a8d5d90f487728f2ab1d3cd0289500d68300e1 (diff)
downloadmsgpack-python-04d8fc114b256a80f1fac4e04352d487c47f6768.tar.gz
Rename test files.
Diffstat (limited to 'test/test_format.py')
-rw-r--r--test/test_format.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/test/test_format.py b/test/test_format.py
new file mode 100644
index 0000000..a00123c
--- /dev/null
+++ b/test/test_format.py
@@ -0,0 +1,64 @@
+from unittest import TestCase, main
+from msgpack import packs, unpacks
+
+class TestFormat(TestCase):
+ def __check(self, obj, expected_packed):
+ packed = packs(obj)
+ self.assertEqual(packed, expected_packed)
+ unpacked = unpacks(packed)
+ self.assertEqual(unpacked, obj)
+
+ def testSimpleValues(self):
+ self.__check(None, '\xc0')
+ self.__check(True, '\xc3')
+ self.__check(False, '\xc2')
+ self.__check(
+ [None, False, True],
+ '\x93\xc0\xc2\xc3'
+ )
+
+ def testFixnum(self):
+ self.__check(
+ [[0,64,127], [-32,-16,-1]],
+ "\x92\x93\x00\x40\x7f\x93\xe0\xf0\xff"
+ )
+
+ def testFixArray(self):
+ self.__check(
+ [[],[[None]]],
+ "\x92\x90\x91\x91\xc0"
+ )
+
+ def testFixRaw(self):
+ self.__check(
+ ["", "a", "bc", "def"],
+ "\x94\xa0\xa1a\xa2bc\xa3def"
+ )
+ pass
+
+ def testFixMap(self):
+ self.__check(
+ {False: {None: None}, True:{None:{}}},
+ "\x82\xc2\x81\xc0\xc0\xc3\x81\xc0\x80"
+ )
+ pass
+
+
+class TestUnpack(TestCase):
+ def __check(self, packed, obj):
+ self.assertEqual(unpacks(packed), obj)
+
+ def testuint(self):
+ self.__check(
+ "\x99\xcc\x00\xcc\x80\xcc\xff\xcd\x00\x00\xcd\x80\x00"
+ "\xcd\xff\xff\xce\x00\x00\x00\x00\xce\x80\x00\x00\x00"
+ "\xce\xff\xff\xff\xff",
+ [0, 128, 255, 0, 32768, 65535, 0,
+ 2147483648, 4294967295],
+ )
+
+
+
+
+if __name__ == '__main__':
+ main()