def test_fetch_completed_trials_from_view(hacked_exp, exp_config, random_dt): """Fetch a list of the unseen yet completed trials.""" experiment_view = ExperimentView(hacked_exp.name) experiment_view._experiment = hacked_exp trials = experiment_view.fetch_completed_trials() assert len(trials) == 3 assert trials[0].to_dict() == exp_config[1][0] assert trials[1].to_dict() == exp_config[1][2] assert trials[2].to_dict() == exp_config[1][1]
def test_experiment_view_stats(hacked_exp, exp_config, random_dt): """Check that property stats from view is consistent.""" experiment_view = ExperimentView(hacked_exp.name) experiment_view._experiment = hacked_exp stats = experiment_view.stats assert stats['trials_completed'] == 3 assert stats['best_trials_id'] == exp_config[1][1]['_id'] assert stats['best_evaluation'] == 2 assert stats['start_time'] == exp_config[0][3]['metadata']['datetime'] assert stats['finish_time'] == exp_config[1][2]['end_time'] assert stats['duration'] == stats['finish_time'] - stats['start_time'] assert len(stats) == 6
def test_view_algo_is_done_property(hacked_exp): """Check experiment's algo stopping conditions accessed from view.""" experiment_view = ExperimentView(hacked_exp.name) experiment_view._experiment = hacked_exp # Fully configure wrapper experiment (should normally occur inside ExperimentView.__init__ # but hacked_exp has been _hacked_ inside afterwards. hacked_exp.configure(hacked_exp.configuration) assert experiment_view.is_done is False hacked_exp.algorithms.algorithm.done = True assert experiment_view.is_done is True
def test_view_is_done_property(hacked_exp): """Check experiment stopping conditions accessed from view.""" experiment_view = ExperimentView(hacked_exp.name) experiment_view._experiment = hacked_exp # Fully configure wrapper experiment (should normally occur inside ExperimentView.__init__ # but hacked_exp has been _hacked_ inside afterwards. hacked_exp.configure(hacked_exp.configuration) assert experiment_view.is_done is False with pytest.raises(AttributeError): experiment_view.max_trials = 2 hacked_exp.max_trials = 2 assert experiment_view.is_done is True