def test_json_pack_transactionable(): '''Test transactionable functionality''' data = get_tdict() data.q = 0 assert 'q' in data and data.q == 0 data.begin() assert 'q' in data and data.q == 0 data.q = 1 assert 'q' in data and data.q == 1 data.commit() assert 'q' in data and data.q == 1 data.begin() del data.q assert 'q' not in data data.abort() assert 'q' in data and data.q == 1
def test_numpy_wrapper(): x = Array(np.random.randn(4).astype(object)) x[0] = get_tdict() x[1] = 0 assert x[1] == 0 x.begin() x[0].arr = x x[1] = 10 assert 'arr' in x[0] assert len(x[0].arr) == len(x) assert x[1] == 10 assert repr(x) == repr(json_unpack(json_pack(x))) x.abort() assert x[1] == 0 assert 'arr' not in x[0] assert repr(json_unpack(json_pack(x))) == repr(x)
def test_complex_array(): x = np.arange(3).astype(object) x[0] = get_tdict() p = json_pack(x) c = json_unpack(p) assert repr(x) == repr(c)
def test_secure_pack(): hsh = 'test' data = get_tdict() b = scr.secure_pack(data, hsh=hsh) rec = scr.secure_unpack(b, hsh=hsh) assert repr(data) == repr(rec)
def test_elements(): data = get_tdict() data[dict] = data assert len(data) == len(data[dict]) data[1234] = 'element' assert 1234 in data assert 'element' == data[1234] data.abc = 123 assert 'abc' in data assert data.abc == 123 assert data['abc'] == 123
def test_json_pack_transactionable(): data = get_tdict() s = json_pack(data) assert repr(json_unpack(s)) == repr(data) data.begin() data[1234] = 'element' assert 1234 in data assert 'element' == data[1234] data.abc = 123 assert 'abc' in data assert data.abc == 123 assert data['abc'] == 123 data.abort() assert repr(json_unpack(s)) == repr(data)
def test_pack_tdict(): data = get_tdict() rec = unpack(pack(data)) assert repr(data) == repr(rec)