def test_expand_after_reload(self): ###Explore self.explore(self.traj) results = self.env.f_run(multiply) self.are_results_in_order(results) traj = self.traj self.assertTrue( len(traj) == len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) self.expand(self.traj) self.env.f_run(multiply) traj = self.traj self.assertTrue(len(traj) == len(compat.listvalues(self.expand_dict)[0])+\ len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name, as_new=False) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.compare_trajectories(self.traj, newtraj)
def test_expand_after_reload(self): ###Explore self.explore(self.traj) results = self.env.f_run(multiply) self.are_results_in_order(results) traj = self.traj self.assertTrue(len(traj) == len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) self.expand(self.traj) self.env.f_run(multiply) traj = self.traj self.assertTrue(len(traj) == len(compat.listvalues(self.expand_dict)[0])+\ len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name,as_new=False) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.compare_trajectories(self.traj,newtraj)
def test_f_iter_runs(self): ###Explore self.explore(self.traj) self.env.f_run(multiply) traj = self.traj self.assertTrue(len(traj) == len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name,as_new=False) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) for idx, run_name in enumerate(self.traj.f_iter_runs()): newtraj.v_as_run=run_name self.traj.v_as_run == run_name self.traj.v_idx = idx newtraj.v_idx = idx nameset = set((x.v_name for x in traj.f_iter_nodes(predicate=(idx,)))) self.assertTrue('run_%08d' % (idx+1) not in nameset) self.assertTrue('run_%08d' % idx in nameset) self.assertTrue(traj.v_crun == run_name) self.assertTrue(newtraj.crun.z==traj.x*traj.y,' z != x*y: %s != %s * %s' % (str(newtraj.crun.z),str(traj.x),str(traj.y))) self.assertTrue(traj.v_idx == -1) self.assertTrue(traj.v_crun is None) self.assertTrue(traj.v_crun_ == pypetconstants.RUN_NAME_DUMMY) self.assertTrue(newtraj.v_idx == idx)
def test_if_results_are_sorted_correctly_using_map(self): ###Explore self.explore(self.traj) args1=[10*x for x in range(len(self.traj))] args2=[100*x for x in range(len(self.traj))] args3=list(range(len(self.traj))) results = self.env.f_run_map(multiply_args, args1, arg2=args2, arg3=args3) self.assertEqual(len(results), len(self.traj)) traj = self.traj self.assertTrue(len(traj) == len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct_map(traj, args1, args2, args3) for res in results: self.assertEqual(len(res), 2) self.assertTrue(isinstance(res[0], int)) self.assertTrue(isinstance(res[1], int)) idx = res[0] self.assertEqual(self.traj.res.runs[idx].z, res[1]) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name,as_new=False) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.assertEqual(len(traj), 5) self.compare_trajectories(self.traj,newtraj)
def test_if_results_are_sorted_correctly(self): ###Explore self.explore(self.traj) results = self.env.f_run(multiply) self.are_results_in_order(results) self.assertEqual(len(results), len(self.traj)) traj = self.traj self.assertTrue( len(traj) == len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) for res in results: self.assertEqual(len(res), 2) self.assertTrue(isinstance(res[0], int)) self.assertTrue(isinstance(res[1], int)) idx = res[0] self.assertEqual(self.traj.res.runs[idx].z, res[1]) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name, as_new=False) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.compare_trajectories(self.traj, newtraj)
def test_if_results_are_sorted_correctly(self): ###Explore self.explore(self.traj) results = self.env.f_run(multiply) self.are_results_in_order(results) self.assertEqual(len(results), len(self.traj)) traj = self.traj self.assertTrue(len(traj) == len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) for res in results: self.assertEqual(len(res), 2) self.assertTrue(isinstance(res[0], int)) self.assertTrue(isinstance(res[1], int)) idx = res[0] self.assertEqual(self.traj.res.runs[idx].z, res[1]) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name,as_new=False) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.compare_trajectories(self.traj,newtraj)
def test_f_iter_runs(self): ###Explore self.explore(self.traj) self.env.f_run(multiply) traj = self.traj self.assertTrue(len(traj) == len(compat.listvalues(self.explore_dict)[0])) self.traj.f_update_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name,as_new=False) self.traj.f_update_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) for idx, run_name in enumerate(self.traj.f_iter_runs()): newtraj.v_as_run=run_name self.traj.v_as_run == run_name self.traj.v_idx = idx newtraj.v_idx = idx self.assertTrue('run_%08d' % (idx+1) not in traj) self.assertTrue(newtraj.z==traj.x*traj.y,' z != x*y: %s != %s * %s' % (str(newtraj.z),str(traj.x),str(traj.y))) self.assertTrue(traj.v_idx == -1) self.assertTrue(traj.v_as_run == 'run_ALL') self.assertTrue(newtraj.v_idx == idx)
def test_expand(self): ###Explore self.explore(self.traj) results = self.env.f_run(multiply) self.are_results_in_order(results) get_root_logger().info(results) traj = self.traj self.assertEqual(len(traj), len(list(compat.listvalues(self.explore_dict)[0]))) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) traj_name = self.env.v_trajectory.v_name del self.env self.env = Environment(trajectory=self.traj, log_stdout=False, log_config=get_log_config()) self.traj = self.env.v_trajectory self.traj.f_load(name=traj_name) self.expand(self.traj) results = self.env.f_run(multiply) self.are_results_in_order(results) traj = self.traj self.assertTrue( len(traj) == len(compat.listvalues(self.expand_dict)[0]) + len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name, as_new=False) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.compare_trajectories(self.traj, newtraj)
def test_expand(self): ###Explore self.explore(self.traj) results = self.env.f_run(multiply) self.are_results_in_order(results) get_root_logger().info(results) traj = self.traj self.assertEqual(len(traj), len(list(compat.listvalues(self.explore_dict)[0]))) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) traj_name = self.env.v_trajectory.v_name del self.env self.env = Environment(trajectory=self.traj, log_stdout=False, log_config=get_log_config()) self.traj = self.env.v_trajectory self.traj.f_load(name=traj_name) self.expand(self.traj) results = self.env.f_run(multiply) self.are_results_in_order(results) traj = self.traj self.assertTrue(len(traj) == len(compat.listvalues(self.expand_dict)[0])+ len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name,as_new=False) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.compare_trajectories(self.traj,newtraj)
def make_results(self): self.results= {} self.results['test.res.on_constructor']=self.Constructor('test.res.on_constructor', protocol=0, **self.data) self.results['test.res.args']=self.Constructor('test.res.args') self.results['test.res.args'].v_protocol=1 self.results['test.res.kwargs']=self.Constructor('test.res.kwargs', protocol=2) self.results['test.res.args'].f_set(*compat.listvalues(self.data)) self.results['test.res.kwargs'].f_set(**self.data)
def clear_handlers(self): """Deletes all handlers and closes all log-files""" root = logging.getLogger() for logger in compat.listvalues(root.manager.loggerDict) + [root]: if hasattr(logger, 'handlers'): handlers = logger.handlers for handler in handlers: if hasattr(handler, 'flush'): handler.flush() if hasattr(handler, 'close'): handler.close() logger.handlers = []
def make_results(self): self.results= {} self.results['test.res.on_constructor']=self.Constructor('test.res.on_constructor',**self.data) self.results['test.res.args']=self.Constructor('test.res.args') self.results['test.res.kwargs']=self.Constructor('test.res.kwargs') self.results['test.res.setitem']=self.Constructor('test.res.setitem') self.results['test.res.args'].f_set(*compat.listvalues(self.data)) self.results['test.res.kwargs'].f_set(**self.data) for key, value in self.data.items(): self.results['test.res.setitem'][key]=value
def make_results(self): self.results= {} self.results['test.res.on_constructor']=self.Constructor('test.res.on_constructor', **self.data) self.results['test.res.args']=self.Constructor('test.res.args') self.results['test.res.kwargs']=self.Constructor('test.res.kwargs') self.results['test.res.setitem']=self.Constructor('test.res.setitem') self.results['test.res.args'].f_set(*compat.listvalues(self.data)) self.results['test.res.kwargs'].f_set(**self.data) for key, value in self.data.items(): self.results['test.res.setitem'][key]=value
def test_expand(self): ###Explore self.explore(self.traj) print(self.env.f_run(multiply)) traj = self.traj self.assertTrue(len(traj) == len(list(compat.listvalues(self.explore_dict)[0]))) self.traj.f_update_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) traj_name = self.env.v_trajectory.v_name del self.env self.env = Environment(trajectory=self.traj,filename=self.filename, file_title=self.trajname, log_folder=self.logfolder, log_stdout=False) self.traj = self.env.v_trajectory self.traj.f_load(name=traj_name) self.expand(self.traj) self.env.f_run(multiply) traj = self.traj self.assertTrue(len(traj) == len(compat.listvalues(self.expand_dict)[0])+ len(compat.listvalues(self.explore_dict)[0])) self.traj.f_update_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name,as_new=False) self.traj.f_update_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.compare_trajectories(self.traj,newtraj)
def clear_handlers(self): """Deletes all handlers and closes all log-files""" root = logging.getLogger() for logger in compat.listvalues(root.manager.loggerDict) + [root]: if hasattr(logger, 'handlers'): handlers = logger.handlers for handler in handlers: if hasattr(handler, 'flush'): handler.flush() if hasattr(handler, 'close'): handler.close() logger.handlers = [] sys.stdout = sys.__stdout__ sys.stderr = sys.__stderr__
def test_if_results_are_sorted_correctly(self): ###Explore self.explore(self.traj) self.env.f_run(multiply) traj = self.traj self.assertTrue(len(traj) == len(compat.listvalues(self.explore_dict)[0])) self.traj.f_update_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name,as_new=False) self.traj.f_update_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.compare_trajectories(self.traj,newtraj)
def test_if_full_copy_is_old_value(self): ###Explore self.explore(self.traj) self.traj.v_full_copy = False self.env.f_run(new_multiply) traj = self.traj self.assertTrue(len(traj) == len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name,as_new=False) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.compare_trajectories(self.traj,newtraj)
def test_if_results_are_sorted_correctly_manual_runs(self): ###Explore self.explore(self.traj) self.traj.f_store(only_init=True) man_multiply = manual_run()(multiply_with_storing) for idx in self.traj.f_iter_runs(yields='idx'): self.assertTrue(isinstance(idx, int)) man_multiply(self.traj) traj = self.traj traj.f_store() self.assertTrue(len(traj), 5) self.assertTrue(len(traj) == len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name,as_new=False) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.compare_trajectories(self.traj,newtraj)
def test_f_iter_runs_auto_load(self): ###Explore self.explore(self.traj) results = self.env.f_run(multiply) self.are_results_in_order(results) traj = self.traj self.assertTrue(len(traj) == len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) newtraj = Trajectory() newtraj.v_storage_service=HDF5StorageService(filename=self.filename) newtraj.f_load(name=self.traj.v_name, index=None, as_new=False, load_data=0) newtraj.v_auto_load = True newtraj.par.f_load_child('y', load_data=1) for idx, run_name in enumerate(self.traj.f_iter_runs()): newtraj.v_crun=run_name self.traj.v_idx = idx newtraj.v_idx = idx nameset = set((x.v_name for x in traj.f_iter_nodes(predicate=(idx,)))) self.assertTrue('run_%08d' % (idx+1) not in nameset) self.assertTrue('run_%08d' % idx in nameset) self.assertTrue(traj.v_crun == run_name) self.assertTrue(newtraj.res.runs.crun.z==newtraj.par.x*newtraj.par.y,' z != x*y: %s != %s * %s' % (str(newtraj.crun.z),str(newtraj.x),str(newtraj.y))) traj = self.traj self.assertTrue(traj.v_idx == -1) self.assertTrue(traj.v_crun is None) self.assertTrue(traj.v_crun_ == pypetconstants.RUN_NAME_DUMMY) self.assertTrue(newtraj.v_idx == idx)
def test_f_iter_runs(self): ###Explore self.explore(self.traj) results = self.env.f_run(multiply) self.are_results_in_order(results) traj = self.traj self.assertTrue( len(traj) == len(compat.listvalues(self.explore_dict)[0])) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) self.check_if_z_is_correct(traj) newtraj = self.load_trajectory(trajectory_name=self.traj.v_name, as_new=False) self.traj.f_load_skeleton() self.traj.f_load_items(self.traj.f_to_dict().keys(), only_empties=True) for idx, run_name in enumerate(self.traj.f_iter_runs()): newtraj.v_crun = run_name self.traj.v_idx = idx newtraj.v_idx = idx nameset = set( (x.v_name for x in traj.f_iter_nodes(predicate=(idx, )))) self.assertTrue('run_%08d' % (idx + 1) not in nameset) self.assertTrue('run_%08d' % idx in nameset) self.assertTrue(traj.v_crun == run_name) self.assertTrue( newtraj.crun.z == traj.x * traj.y, ' z != x*y: %s != %s * %s' % (str(newtraj.crun.z), str(traj.x), str(traj.y))) for idx, traj in enumerate(self.traj.f_iter_runs(yields='self')): run_name = traj.f_idx_to_run(idx) self.assertTrue(traj is self.traj) newtraj.v_crun = run_name self.traj.v_idx = idx newtraj.v_idx = idx nameset = set( (x.v_name for x in traj.f_iter_nodes(predicate=(idx, )))) self.assertTrue('run_%08d' % (idx + 1) not in nameset) self.assertTrue('run_%08d' % idx in nameset) self.assertTrue(traj.v_crun == run_name) self.assertTrue( newtraj.crun.z == traj.x * traj.y, ' z != x*y: %s != %s * %s' % (str(newtraj.crun.z), str(traj.x), str(traj.y))) for idx, traj in enumerate(self.traj.f_iter_runs(yields='copy')): run_name = traj.f_idx_to_run(idx) self.assertTrue(traj is not self.traj) newtraj.v_crun = run_name self.traj.v_idx = idx newtraj.v_idx = idx nameset = set( (x.v_name for x in traj.f_iter_nodes(predicate=(idx, )))) self.assertTrue('run_%08d' % (idx + 1) not in nameset) self.assertTrue('run_%08d' % idx in nameset) self.assertTrue(traj.v_crun == run_name) self.assertTrue( newtraj.crun.z == traj.x * traj.y, ' z != x*y: %s != %s * %s' % (str(newtraj.crun.z), str(traj.x), str(traj.y))) traj = self.traj self.assertTrue(traj.v_idx == -1) self.assertTrue(traj.v_crun is None) self.assertTrue(traj.v_crun_ == pypetconstants.RUN_NAME_DUMMY) self.assertTrue(newtraj.v_idx == idx)