2009-06-26 14:10:20 +09:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# coding: utf-8
|
|
|
|
|
|
|
|
from msgpack import Unpacker
|
|
|
|
|
|
|
|
def test_foobar():
|
|
|
|
unpacker = Unpacker(read_size=3)
|
2011-01-09 23:13:35 +09:00
|
|
|
unpacker.feed('foobar')
|
2011-06-01 18:30:43 +09:00
|
|
|
assert unpacker.unpack() == ord('f')
|
|
|
|
assert unpacker.unpack() == ord('o')
|
|
|
|
assert unpacker.unpack() == ord('o')
|
|
|
|
assert unpacker.unpack() == ord('b')
|
|
|
|
assert unpacker.unpack() == ord('a')
|
|
|
|
assert unpacker.unpack() == ord('r')
|
2009-06-26 14:10:20 +09:00
|
|
|
try:
|
|
|
|
o = unpacker.unpack()
|
2010-11-03 03:11:00 +09:00
|
|
|
print "Oops!", o
|
2009-06-26 14:10:20 +09:00
|
|
|
assert 0
|
|
|
|
except StopIteration:
|
|
|
|
assert 1
|
|
|
|
else:
|
|
|
|
assert 0
|
2011-06-01 18:30:43 +09:00
|
|
|
unpacker.feed('foo')
|
|
|
|
unpacker.feed('bar')
|
2009-06-26 14:10:20 +09:00
|
|
|
|
|
|
|
k = 0
|
2011-06-01 18:30:43 +09:00
|
|
|
for o, e in zip(unpacker, 'foobarbaz'):
|
2009-06-26 14:10:20 +09:00
|
|
|
assert o == ord(e)
|
|
|
|
k += 1
|
2011-06-01 18:30:43 +09:00
|
|
|
assert k == len('foobar')
|
2009-06-26 14:10:20 +09:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
test_foobar()
|
|
|
|
|