def test_3(path, tmpdir, regtest): # relative path for peakmaps: from emzed.core.data_types import Table pm = emzed.io.loadPeakMap(path("data/SHORT_MS2_FILE.mzData")) t = emzed.utils.toTable("id", (1, 2, 3), type_=int) t.addColumn("peakmap", pm, type_=object) folder = tmpdir.join("subfolder") folder.mkdir() p2 = folder.join("with_comp.table").strpath t.store(p2, True, True, "..") for p in tmpdir.listdir(): # full path varies because the folder is a tmp dir: print(p.basename, file=regtest) t2 = Table.load(p2) # this triggers loading: t2.peakmap[0].chromatogram(0, 10, 0, 10) t2.peakmap[0]._path == p.strpath # now we move and check if proxy still works: moved = folder.join("..").join("moved") shutil.move(folder.strpath, moved.strpath) t2 = Table.load(moved.join("with_comp.table").strpath) t2.peakmap[0].chromatogram(0, 10, 0, 10)
def test_2(path, tmpdir, regtest): # same folder as table for peakmaps: from emzed.core.data_types import Table pm = emzed.io.loadPeakMap(path("data/SHORT_MS2_FILE.mzData")) t = emzed.utils.toTable("id", (1, 2, 3), type_=int) t.addColumn("peakmap", pm, type_=object) p2 = tmpdir.join("with_comp.table").strpath t.store(p2, True, True, ".") # chekc if pm proxy is next ot file_names = [p.basename for p in tmpdir.listdir()] print(file_names, file=regtest) # force loading of data:. print(len(t.peakmap.values[0]), file=regtest) s1 = os.stat(p2).st_size assert s1 < 1000 t = Table.load(p2) print(len(t.peakmap.values[0]), file=regtest) subfolder = tmpdir.join("subfolder") os.makedirs(subfolder.strpath) for p in file_names: shutil.move(tmpdir.join(p).strpath, subfolder.strpath) t2 = Table.load(subfolder.join("with_comp.table").strpath) print(t2, file=regtest) print(len(t2.peakmap.values[0]), file=regtest) print(t2, file=regtest)
dat = pickle.dumps(t) t = pickle.loads(dat) run(t, names, [row1, row2, row3]) def j(name): import os.path return os.path.join(self.temp_output, name) t.store(j("test.table")) try: Table.storeTable(t, "temp_output/test.table") assert False, "no exception thrown althoug file should exist!" except: pass t.store(j("test.table"), True) t = Table.load(j("test.table")) run(t, names, [row1, row2, row3]) def testSomePredicates(self): #build table names = "int long float str object array".split() types = [ int, long, float, str, object, np.ndarray, ] formats = ["%3d", "%d", "%.3f", "%s", "%r", "'array%r' % (o.shape,)"]
dat = pickle.dumps(t) t = pickle.loads(dat) run(t, names, [row1, row2, row3]) def j(name): import os.path return os.path.join(self.temp_output, name) t.store(j("test.table")) try: Table.storeTable(t, "temp_output/test.table") assert False, "no exception thrown althoug file should exist!" except: pass t.store(j("test.table"), True) t = Table.load(j("test.table")) run(t, names, [row1, row2, row3]) def testSomePredicates(self): #build table names="int long float str object array".split() types = [int, long, float, str, object, np.ndarray,] formats = [ "%3d", "%d", "%.3f", "%s", "%r", "'array%r' % (o.shape,)" ] row1 = [ 1, 12323L, 1.0, "hi", { 1: 1 }, np.array((1,2,3)) ] row2 = [ 2, 22323L, 2.0, "hi2", [2,3,], np.array(((2,3,4),(1,2,3))) ] row3 = [ 3, 32323L, 3.0, "hi3", (3,) , np.array(((3,3,4,5),(1,2,3,4))) ] rows = [row1, row2, row3] t=Table(names, types, formats, rows, "testtabelle", meta=dict(why=42))