diff options
author | INADA Naoki <inada-n@klab.com> | 2012-10-01 01:31:58 +0900 |
---|---|---|
committer | INADA Naoki <inada-n@klab.com> | 2012-10-01 01:31:58 +0900 |
commit | e016b3dca0d8ca71fa54ffadfa1e5d9f3e4b3f06 (patch) | |
tree | 45daae42bfd00afdc27a7565f32ec061eb771bd7 /test/test_pack.py | |
parent | 1526316a0803c233a6752aff1bab6e951447d12a (diff) | |
parent | 9d9c3eecb846c6a927a31aae394dea39fa75aef4 (diff) | |
download | msgpack-python-e016b3dca0d8ca71fa54ffadfa1e5d9f3e4b3f06.tar.gz |
Merge remote-tracking branch 'jnothman/read_size_cpp'
Conflicts:
msgpack/_msgpack.pyx
setup.py
Diffstat (limited to 'test/test_pack.py')
-rw-r--r-- | test/test_pack.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/test_pack.py b/test/test_pack.py index 6af87fd..ff1eeef 100644 --- a/test/test_pack.py +++ b/test/test_pack.py @@ -90,6 +90,35 @@ def testPackFloat(): assert_equal(packb(1.0, use_single_float=True), b'\xca' + struct.pack('>f', 1.0)) assert_equal(packb(1.0, use_single_float=False), b'\xcb' + struct.pack('>d', 1.0)) +def testArraySize(sizes=[0, 5, 50, 1000]): + bio = six.BytesIO() + packer = Packer() + for size in sizes: + bio.write(packer.pack_array_header(size)) + for i in range(size): + bio.write(packer.pack(i)) + + bio.seek(0) + unpacker = Unpacker(bio) + for size in sizes: + assert unpacker.unpack() == tuple(range(size)) + +def testMapSize(sizes=[0, 5, 50, 1000]): + bio = six.BytesIO() + packer = Packer() + for size in sizes: + bio.write(packer.pack_map_header(size)) + for i in range(size): + bio.write(packer.pack(i)) # key + bio.write(packer.pack(i * 2)) # value + + bio.seek(0) + unpacker = Unpacker(bio) + for size in sizes: + assert unpacker.unpack() == {i: i * 2 for i in range(size)} + + + class odict(dict): '''Reimplement OrderedDict to run test on Python 2.6''' |