def test_type_mapping(): x = [1,2,3,4,5] data._type_map[int] = float32 hdf5 = tables.openFile('test.h5', 'w') data.save(hdf5.root, 'fubar', x) assert hdf5.root.fubar.atom.dtype == float32 hdf5.close() del data._type_map[int]
def test_64_bitness(): x = [1,2,3,4,5] y = array([1,2,3,4,5,6], dtype=int64) data._type_map[int] = int32 hdf5 = tables.openFile('test.h5', 'w') data.save(hdf5.root, 'fubar', x) data.save(hdf5.root, 'baz', y) assert hdf5.root.fubar.atom.dtype == int32 assert hdf5.root.baz.atom.dtype == int32 hdf5.close()
def do_serialize(d, path='obj'): hdf5 = tables.openFile('test.h5', 'w') data.save(hdf5.root, path, d) hdf5.close() d = d.__class__() hdf5 = tables.openFile('test.h5', 'r+') d = data.load(hdf5.root, path) data.save(hdf5.root, path, d) d = d.__class__() d = data.load(hdf5.root, path) return (hdf5, d)
def test_save_subgroups(): a = scipy.rand(1,2,3,4,5) hdf5 = tables.openFile('test.h5', 'w') data.save(hdf5.root, 'foo/bar/quux', a) hdf5.close() hdf5 = tables.openFile('test.h5', 'r') b = data.load(hdf5.root, 'foo/bar/quux') hdf5.close() assert arrays_equal(a, b)
def test_2(): d = SimpleSer() # f = tables.openFile('test.h5', 'w') data.save(f.root, 'fubar', d) d2 = data.load(f.root, 'fubar') assert arrays_equal(d.a, d2.a) assert arrays_equal(d.b, d2.b) assert arrays_equal(d.c, d2.c) f.close() # # Loading partial data: # f = tables.openFile('test.h5', 'r') da = data.load(f.root, 'fubar/a') dx = data.load(f.root, 'fubar/x') f.close() assert arrays_equal(d.a, da) assert dx == d.x assert type(dx) == float