diff options
author | Naoki INADA <inada-n@gear> | 2009-06-08 04:33:58 +0900 |
---|---|---|
committer | Naoki INADA <inada-n@gear> | 2009-06-08 04:33:58 +0900 |
commit | b0f42ca49eb4ad4770efe6587b7fe3b6f0e06da1 (patch) | |
tree | e74c7d0aa30a0faab49a3775060f131b740f76bd | |
parent | 9b5a25ec32f716715311f2d2386762a1fd5714b7 (diff) | |
download | msgpack-python-b0f42ca49eb4ad4770efe6587b7fe3b6f0e06da1.tar.gz |
add test.
-rw-r--r-- | testformat.py | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/testformat.py b/testformat.py new file mode 100644 index 0000000..a00123c --- /dev/null +++ b/testformat.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() |