def test_tuple(): tup = (lambda x: x, 1) bufs = serialize_object(tup) canned = pickle.loads(bufs[0]) assert isinstance(canned, tuple) t2, r = deserialize_object(bufs) assert t2[0](t2[1]) == tup[0](tup[1])
def test_list(): lis = [lambda x: x, 1] bufs = serialize_object(lis) canned = pickle.loads(bufs[0]) assert isinstance(canned, list) l2, r = deserialize_object(bufs) assert l2[0](l2[1]) == lis[0](lis[1])
def test_tuple(): tup = (lambda x: x, 1) bufs = serialize_object(tup) canned = pickle.loads(bufs[0]) nt.assert_is_instance(canned, tuple) t2, r = deserialize_object(bufs) nt.assert_equal(t2[0](t2[1]), tup[0](tup[1]))
def test_list(): lis = [lambda x: x, 1] bufs = serialize_object(lis) canned = pickle.loads(bufs[0]) nt.assert_is_instance(canned, list) l2, r = deserialize_object(bufs) nt.assert_equal(l2[0](l2[1]), lis[0](lis[1]))
def test_namedtuple(): p = point(1, 2) bufs = serialize_object(p) canned = pickle.loads(bufs[0]) assert isinstance(canned, point) p2, r = deserialize_object(bufs, globals()) assert p2.x == p.x assert p2.y == p.y
def test_roundtrip_memoryview(): b = b'asdf' * 1025 view = memoryview(b) bufs = serialize_object(view) assert len(bufs) == 2 v2, remainder = deserialize_object(bufs) assert remainder == [] assert v2.tobytes() == b
def test_roundtrip_memoryview(): b = b'asdf' * 1025 view = memoryview(b) bufs = serialize_object(view) nt.assert_equal(len(bufs), 2) v2, remainder = deserialize_object(bufs) nt.assert_equal(remainder, []) nt.assert_equal(v2.tobytes(), b)
def test_namedtuple(): p = point(1, 2) bufs = serialize_object(p) canned = pickle.loads(bufs[0]) nt.assert_is_instance(canned, point) p2, r = deserialize_object(bufs, globals()) nt.assert_equal(p2.x, p.x) nt.assert_equal(p2.y, p.y)
def test_roundtrip_buffered(): for obj in [ dict(a=b"x" * 1025), b"hello" * 500, [b"hello" * 501, 1, 2, 3] ]: bufs = serialize_object(obj) nt.assert_equal(len(bufs), 2) obj2, remainder = deserialize_object(bufs) nt.assert_equal(remainder, []) nt.assert_equal(obj, obj2)
def test_roundtrip_buffered(): for obj in [ dict(a=b"x" * 1025), b"hello" * 500, [b"hello" * 501, 1, 2, 3] ]: bufs = serialize_object(obj) assert len(bufs) == 2 obj2, remainder = deserialize_object(bufs) assert remainder == [] assert obj == obj2
def test_class_oldstyle(): @interactive class C: a = 5 bufs = serialize_object(dict(C=C)) canned = pickle.loads(bufs[0]) assert isinstance(canned['C'], CannedClass) d, r = deserialize_object(bufs) C2 = d['C'] assert C2.a == C.a
def test_class_oldstyle(): @interactive class C: a = 5 bufs = serialize_object(dict(C=C)) canned = pickle.loads(bufs[0]) nt.assert_is_instance(canned['C'], CannedClass) d, r = deserialize_object(bufs) C2 = d['C'] nt.assert_equal(C2.a, C.a)
def test_numpy(): import numpy from numpy.testing.utils import assert_array_equal for shape in SHAPES: for dtype in DTYPES: A = new_array(shape, dtype=dtype) bufs = serialize_object(A) bufs = [memoryview(b) for b in bufs] B, r = deserialize_object(bufs) nt.assert_equal(r, []) nt.assert_equal(A.shape, B.shape) nt.assert_equal(A.dtype, B.dtype) assert_array_equal(A, B)
def test_numpy_in_dict(): import numpy from numpy.testing.utils import assert_array_equal for shape in SHAPES: for dtype in DTYPES: A = new_array(shape, dtype=dtype) bufs = serialize_object(dict(a=A, b=1, c=range(20))) canned = pickle.loads(bufs[0]) nt.assert_is_instance(canned['a'], CannedArray) d, r = deserialize_object(bufs) B = d['a'] nt.assert_equal(r, []) nt.assert_equal(A.shape, B.shape) nt.assert_equal(A.dtype, B.dtype) assert_array_equal(A, B)
def test_numpy_in_seq(): import numpy from numpy.testing.utils import assert_array_equal for shape in SHAPES: for dtype in DTYPES: A = new_array(shape, dtype=dtype) bufs = serialize_object((A, 1, 2, b'hello')) canned = pickle.loads(bufs[0]) nt.assert_is_instance(canned[0], CannedArray) tup, r = deserialize_object(bufs) B = tup[0] nt.assert_equal(r, []) nt.assert_equal(A.shape, B.shape) nt.assert_equal(A.dtype, B.dtype) assert_array_equal(A, B)
def test_class_inheritance(): @interactive class C(object): a = 5 @interactive class D(C): b = 10 bufs = serialize_object(dict(D=D)) canned = pickle.loads(bufs[0]) nt.assert_is_instance(canned['D'], CannedClass) d, r = deserialize_object(bufs) D2 = d['D'] nt.assert_equal(D2.a, D.a) nt.assert_equal(D2.b, D.b)
def test_class_inheritance(): @interactive class C(object): a = 5 @interactive class D(C): b = 10 bufs = serialize_object(dict(D=D)) canned = pickle.loads(bufs[0]) assert isinstance(canned['D'], CannedClass) d, r = deserialize_object(bufs) D2 = d['D'] assert D2.a == D.a assert D2.b == D.b
def test_recarray(): import numpy from numpy.testing.utils import assert_array_equal for shape in SHAPES: for dtype in [ [('f', float), ('s', '|S10')], [('n', int), ('s', '|S1'), ('u', 'uint32')], ]: A = new_array(shape, dtype=dtype) bufs = serialize_object(A) B, r = deserialize_object(bufs) nt.assert_equal(r, []) nt.assert_equal(A.shape, B.shape) nt.assert_equal(A.dtype, B.dtype) assert_array_equal(A, B)
def publish_data(self, data): """publish a data_message on the IOPub channel Parameters ---------- data : dict The data to be published. Think of it as a namespace. """ session = self.session buffers = serialize_object(data, buffer_threshold=session.buffer_threshold, item_threshold=session.item_threshold, ) content = json_clean(dict(keys=list(data.keys()))) session.send(self.pub_socket, 'data_message', content=content, parent=self.parent_header, buffers=buffers, ident=self.topic, )
def publish_data(self, data): """publish a data_message on the IOPub channel Parameters ---------- data : dict The data to be published. Think of it as a namespace. """ session = self.session buffers = serialize_object( data, buffer_threshold=session.buffer_threshold, item_threshold=session.item_threshold, ) content = json_clean(dict(keys=list(data.keys()))) session.send( self.pub_socket, 'data_message', content=content, parent=self.parent_header, buffers=buffers, ident=self.topic, )
def roundtrip(obj): """roundtrip an object through serialization""" bufs = serialize_object(obj) obj2, remainder = deserialize_object(bufs) assert remainder == [] return obj2
def roundtrip(obj): """roundtrip an object through serialization""" bufs = serialize_object(obj) obj2, remainder = deserialize_object(bufs) nt.assert_equals(remainder, []) return obj2