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_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_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_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 set_value(self, name, value): if self.is_ipyclient: value = serialize_object(value) self.shellwidget.set_value(name, value) else: monitor_set_global(self._get_sock(), name, value) self.refresh_table()
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_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_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]) assert isinstance(canned, point) p2, r = deserialize_object(bufs, globals()) assert p2.x == p.x assert p2.y == p.y
def test_class(): @interactive class C(object): 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_class(): @interactive class C(object): 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_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_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_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) assert r == [] assert A.shape == B.shape assert 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_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]) assert isinstance(canned[0], CannedArray) tup, r = deserialize_object(bufs) B = tup[0] assert r == [] assert A.shape == B.shape assert 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]) assert isinstance(canned['a'], CannedArray) d, r = deserialize_object(bufs) B = d['a'] assert r == [] assert A.shape == B.shape assert 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_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_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) assert r == [] assert A.shape == B.shape assert 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]) 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) assert r == [] assert A.shape == B.shape assert 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]) 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_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_unicode_vars(ipyconsole, qtbot): """ Test that the Variable Explorer Works with unicode variables. """ # Wait until the window is fully up shell = ipyconsole.get_current_shellwidget() qtbot.waitUntil(lambda: shell._prompt_html is not None, timeout=SHELL_TIMEOUT) # Set value for a Unicode variable with qtbot.waitSignal(shell.executed): shell.execute('д = 10') # Assert we get its value correctly assert shell.get_value('д') == 10 # Change its value and verify shell.set_value('д', serialize_object(20)) qtbot.wait(1000) assert shell.get_value('д') == 20
def test_values_dbg(ipyconsole, qtbot): """ Test that getting, setting, copying and removing values is working while debugging. """ shell = ipyconsole.get_current_shellwidget() qtbot.waitUntil(lambda: shell._prompt_html is not None, timeout=SHELL_TIMEOUT) # Give focus to the widget that's going to receive clicks control = ipyconsole.get_focus_widget() control.setFocus() # Generate a traceback and enter debugging mode with qtbot.waitSignal(shell.executed): shell.execute('1/0') shell.execute('%debug') qtbot.wait(1000) # Get value qtbot.keyClicks(control, '!aa = 10') qtbot.keyClick(control, Qt.Key_Enter) qtbot.wait(1000) assert shell.get_value('aa') == 10 # Set value shell.set_value('aa', serialize_object(20)) qtbot.wait(1000) assert shell.get_value('aa') == 20 # Copy value shell.copy_value('aa', 'bb') qtbot.wait(1000) assert shell.get_value('bb') == 20 # Rmoeve value shell.remove_value('aa') qtbot.wait(1000) qtbot.keyClicks(control, '!aa') qtbot.keyClick(control, Qt.Key_Enter) qtbot.wait(1000) assert "*** NameError: name 'aa' is not defined" in control.toPlainText()
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) nt.assert_equals(remainder, []) return obj2
def roundtrip(obj): """roundtrip an object through serialization""" bufs = serialize_object(obj) obj2, remainder = deserialize_object(bufs) assert remainder == [] return obj2