def test_clone(self): store = Storage(filename=self.filename, template=self.template_snapshot, mode='w') assert(os.path.isfile(self.filename)) copy = self.template_snapshot.copy() store.save(copy) store.save(self.traj) store.clone(filename=self.filename_clone, subset = self.solute_indices) # clone the storage and reduce the number of atoms to only solute store2 = Storage(filename=self.filename_clone, mode='a') # do some tests, if this is still the same data compare_snapshot( store2.snapshots.load(0), store.snapshots.load(0).subset(self.solute_indices) ) compare_snapshot( store2.snapshots.load(1), store.snapshots.load(1).subset(self.solute_indices) ) store.close() store2.close() pass
def test_clone_empty(self): store = Storage(filename=self.filename, template=self.template_snapshot, mode='w') assert(os.path.isfile(self.filename)) copy = self.template_snapshot.copy() store.save(copy) store.save(self.traj) store.clone_empty(filename=self.filename_clone) # clone the storage and reduce the number of atoms to only solute store2 = Storage(filename=self.filename_clone, mode='a') # do some tests, if this is still the same data compare_snapshot( store2.snapshots.load(0), store.snapshots.load(0) ) # check if the reversed copy also works compare_snapshot( store2.snapshots.load(1), store.snapshots.load(1) ) assert_equal(len(store2.snapshots), 2) assert_equal(len(store2.trajectories), 0) store.close() store2.close() pass
def test_load_save_uuid(self): store = Storage(filename=self.filename, mode='w') assert (os.path.isfile(self.filename)) store.save(self.template_snapshot) store.close() store = Storage(filename=self.filename, mode='a') loaded_template = store.snapshots[self.template_snapshot.__uuid__] loaded_r = store.snapshots[self.template_snapshot.reversed.__uuid__] compare_snapshot(loaded_template, self.template_snapshot, True) compare_snapshot(loaded_template.reversed, self.template_snapshot.reversed, True) compare_snapshot(loaded_r, self.template_snapshot.reversed) store.close()
def test_load_save_toy(self): store = Storage(filename=self.filename, mode='w') assert (os.path.isfile(self.filename)) store.save(self.toy_template) store.close() store = Storage(filename=self.filename, mode='a') loaded_template = store.snapshots[0] loaded_r = store.snapshots[1] compare_snapshot(loaded_template, self.toy_template, True) compare_snapshot(loaded_template.reversed, self.toy_template.reversed, True) compare_snapshot(loaded_r, self.toy_template.reversed) store.close()
def test_load_save(self): store = Storage(filename=self.filename, template=self.template_snapshot, mode='w') assert(os.path.isfile(self.filename)) copy = self.template_snapshot.copy() store.save(copy) store.close() store = Storage(filename=self.filename, mode='a') loaded_template = store.template compare_snapshot(loaded_template, self.template_snapshot) loaded_copy = store.load(Snapshot, 1) compare_snapshot(loaded_template, loaded_copy) store.close()
def test_load_save_uuid(self): store = Storage(filename=self.filename, mode='w') assert(os.path.isfile(self.filename)) store.save(self.template_snapshot) store.close() store = Storage(filename=self.filename, mode='a') loaded_template = store.snapshots[self.template_snapshot.__uuid__] loaded_r = store.snapshots[self.template_snapshot.reversed.__uuid__] compare_snapshot(loaded_template, self.template_snapshot, True) compare_snapshot( loaded_template.reversed, self.template_snapshot.reversed, True) compare_snapshot(loaded_r, self.template_snapshot.reversed) store.close()
def test_load_save_toy(self): store = Storage(filename=self.filename, mode='w', use_uuid=False) assert(os.path.isfile(self.filename)) store.save(self.toy_template) store.close() store = Storage(filename=self.filename, mode='a') loaded_template = store.snapshots[0] loaded_r = store.snapshots[1] compare_snapshot(loaded_template, self.toy_template, True) compare_snapshot( loaded_template.reversed, self.toy_template.reversed, True) compare_snapshot(loaded_r, self.toy_template.reversed) store.close()
def test_load_save(self): for use_uuid in [True, False]: store = Storage(filename=self.filename, mode='w', use_uuid=use_uuid) assert(os.path.isfile(self.filename)) store.save(self.template_snapshot) store.close() store = Storage(filename=self.filename, mode='a') loaded_template = store.snapshots[0] loaded_r = store.snapshots[1] compare_snapshot(loaded_template, self.template_snapshot, True) compare_snapshot( loaded_template.reversed, self.template_snapshot.reversed, True) compare_snapshot(loaded_r, self.template_snapshot.reversed) store.close()
def test_proxy(self): for use_uuid in [True, False]: store = Storage(filename=self.filename, mode='w', use_uuid=use_uuid) assert (os.path.isfile(self.filename)) tm = self.template_snapshot store.save(tm) px = store.snapshots.proxy(0) # make sure that the proxy and assert (hash(px) == hash(tm)) assert (px == tm) store.snapshots.cache.clear() s0 = store.snapshots[0] assert (hash(px) == hash(s0)) assert (px == s0) compare_snapshot(px, tm) compare_snapshot(s0, tm) px = store.snapshots.proxy(0) # make sure that after reloading it still works assert (hash(px) == hash(tm)) assert (px == tm) store.close() store = Storage(filename=self.filename, mode='a') s1 = store.snapshots[0] store.close() # when loading only for uuid based storages you get the same id assert ((hash(px) == hash(s1)) is use_uuid) assert ((px == s1) is use_uuid)
def test_load_save(self): for use_uuid in [True, False]: store = Storage(filename=self.filename, mode='w', use_uuid=use_uuid) assert (os.path.isfile(self.filename)) store.save(self.template_snapshot) store.close() store = Storage(filename=self.filename, mode='a') loaded_template = store.snapshots[0] loaded_r = store.snapshots[1] compare_snapshot(loaded_template, self.template_snapshot, True) compare_snapshot(loaded_template.reversed, self.template_snapshot.reversed, True) compare_snapshot(loaded_r, self.template_snapshot.reversed) store.close()
def test_proxy(self): for use_uuid in [True, False]: store = Storage(filename=self.filename, mode='w', use_uuid=use_uuid) assert(os.path.isfile(self.filename)) tm = self.template_snapshot store.save(tm) px = store.snapshots.proxy(0) # make sure that the proxy and assert(hash(px) == hash(tm)) assert(px == tm) store.snapshots.cache.clear() s0 = store.snapshots[0] assert(hash(px) == hash(s0)) assert(px == s0) compare_snapshot(px, tm) compare_snapshot(s0, tm) px = store.snapshots.proxy(0) # make sure that after reloading it still works assert(hash(px) == hash(tm)) assert(px == tm) store.close() store = Storage(filename=self.filename, mode='a') s1 = store.snapshots[0] store.close() # when loading only for uuid based storages you get the same id assert((hash(px) == hash(s1)) is use_uuid) assert((px == s1) is use_uuid)