def test_storage_and_loading(self): filename = make_temp_dir('linktest.hdf5') traj = Trajectory(filename=filename) traj.f_add_parameter_group('test') traj.f_add_parameter_group('test2') res = traj.f_add_result('kk', 42) traj.par.f_add_link('gg', res) traj.f_add_link('hh', res) traj.f_add_link('jj', traj.par) traj.f_add_link('ii', res) traj.test.f_add_link('circle1', traj.test2) traj.test2.f_add_link('circle2', traj.test) traj.test.f_add_link('circle2', traj.test.circle1.circle2) traj.f_add_parameter_group('test.ab.bc.cd') traj.cd.f_add_link(traj.test) traj.test.f_add_link(traj.cd) traj.f_store() traj2 = Trajectory(filename=filename) traj2.f_load(name=traj.v_name, load_data=2) self.assertTrue(traj.kk == traj2.gg, '%s != %s' % (traj.kk, traj2.gg)) self.assertTrue(traj.cd.test is traj.test) self.assertTrue(len(traj._linked_by), len(traj2._linked_by)) self.compare_trajectories(traj, traj2) self.assertTrue('jj' in traj2._nn_interface._links_count) traj2.f_remove_child('jj') self.assertTrue('jj' not in traj2._nn_interface._links_count) traj2.f_remove_child('hh') traj2.f_remove_child('ii') traj2.f_remove_child('parameters', recursive=True) traj2.v_auto_load = True group = traj2.par.test2.circle2 self.assertTrue(group is traj2.test) retest = traj2.test.circle1 self.assertTrue(retest is traj2.test2) self.assertTrue(traj2.test.circle2 is traj2.test) self.assertTrue(traj2.hh == traj2.res.kk) traj2.v_auto_load = False traj2.f_load_child('jj') self.assertTrue(traj2.jj is traj2.par) traj2.f_load(load_data=2) self.assertTrue(traj2.ii == traj2.res.kk)
def test_store_overly_long_comment(self): filename = make_temp_dir('remove_errored.hdf5') traj = Trajectory(name='traj', add_time=True, filename=filename) res=traj.f_add_result('iii', 42, 43, comment=7777 * '6') traj.f_store() traj.f_remove_child('results', recursive=True) traj.f_load_child('results', recursive=True) self.assertTrue(traj.iii.v_comment == 7777 * '6')
def test_storage_and_loading(self): filename = make_temp_dir('linktest.hdf5') traj = Trajectory(filename=filename) traj.f_add_parameter_group('test') traj.f_add_parameter_group('test2') res= traj.f_add_result('kk', 42) traj.par.f_add_link('gg', res) traj.f_add_link('hh', res) traj.f_add_link('jj', traj.par) traj.f_add_link('ii', res) traj.test.f_add_link('circle1' , traj.test2) traj.test2.f_add_link('circle2' , traj.test) traj.test.f_add_link('circle2' , traj.test.circle1.circle2) traj.f_add_parameter_group('test.ab.bc.cd') traj.cd.f_add_link(traj.test) traj.test.f_add_link(traj.cd) traj.f_store() traj2 = Trajectory(filename=filename) traj2.f_load(name=traj.v_name, load_data=2) self.assertTrue(traj.kk == traj2.gg, '%s != %s' % (traj.kk, traj2.gg)) self.assertTrue(traj.cd.test is traj.test) self.assertTrue(len(traj._linked_by), len(traj2._linked_by)) self.compare_trajectories(traj, traj2) self.assertTrue('jj' in traj2._nn_interface._links_count) traj2.f_remove_child('jj') self.assertTrue('jj' not in traj2._nn_interface._links_count) traj2.f_remove_child('hh') traj2.f_remove_child('ii') traj2.f_remove_child('parameters', recursive=True) traj2.v_auto_load = True group = traj2.par.test2.circle2 self.assertTrue(group is traj2.test) retest = traj2.test.circle1 self.assertTrue(retest is traj2.test2) self.assertTrue(traj2.test.circle2 is traj2.test) self.assertTrue(traj2.hh == traj2.res.kk) traj2.v_auto_load = False traj2.f_load_child('jj') self.assertTrue(traj2.jj is traj2.par) traj2.f_load(load_data=2) self.assertTrue(traj2.ii == traj2.res.kk)