def test_auto_load(self): traj = Trajectory(name='Test', filename=make_temp_file('autoload.hdf5')) traj.v_auto_load = True traj.f_add_result('I.am.$.a.mean.resu', 42, comment='Test') traj.f_add_derived_parameter('ffa', 42) traj.f_store() ffa=traj.f_get('ffa') ffa.f_unlock() ffa.f_empty() self.assertTrue(ffa.f_is_empty()) traj.f_remove_child('results', recursive=True) # check auto load val = traj.res.I.am.crun.a.mean.resu self.assertTrue(val==42) val = traj.ffa self.assertTrue(val==42) with self.assertRaises(Exception): traj.kdsfdsf
def test_partial_loading(self): traj = Trajectory(name='TestPartial', filename=make_temp_file('testpartially.hdf5')) res = traj.f_add_result('mytest.test', a='b', c='d') traj.f_store() traj.f_remove_child('results', recursive=True) traj.f_update_skeleton() traj.f_load_item(traj.test, load_only=['a', 'x']) self.assertTrue('a' in traj.test) self.assertTrue('c' not in traj.test) traj.f_remove_child('results', recursive=True) traj.f_update_skeleton() load_except= ['c', 'd'] traj.f_load_item(traj.test, load_except=load_except) self.assertTrue(len(load_except)==2) self.assertTrue('a' in traj.test) self.assertTrue('c' not in traj.test) with self.assertRaises(ValueError): traj.f_load_item(traj.test, load_except=['x'], load_only=['y'])
def test_wildcard_search(self): traj = Trajectory(name='Test', filename=make_temp_file('wilcard.hdf5')) traj.f_add_parameter('expl', 2) traj.f_explore({'expl':[1,2,3,4]}) traj.f_add_result('wc2test.$.hhh', 333) traj.f_add_leaf('results.wctest.run_00000000.jjj', 42) traj.f_add_result('results.wctest.run_00000001.jjj', 43) traj.v_as_run = 1 self.assertTrue(traj.results.wctest['$'].jjj==43) self.assertTrue(traj.results.wc2test.crun.hhh==333) traj.f_store() traj.f_remove_child('results', recursive=True) traj.v_auto_load = True self.assertTrue(traj.results.wctest['$'].jjj==43) self.assertTrue(traj.results.wc2test.crun.hhh==333) traj.f_remove_child('results', recursive=True) traj.v_auto_load = True self.assertTrue(traj.results.wctest[-2].jjj==43) self.assertTrue(traj.results.wc2test[-2].hhh==333) traj.f_remove_child('results', recursive=True) traj.v_auto_load = True self.assertTrue(traj.results.wctest[1].jjj==43) self.assertTrue(traj.results.wc2test[-1].hhh==333)