def test_bad_name_experiment(self, parent_config, child_config, monkeypatch): """Test if changing the experiment names does not work for invalid name and revert to old one """ def _is_unique(self, *args, **kwargs): return False def _versions(self, *args, **kwargs): return True monkeypatch.setattr(ExperimentNameConflict.ExperimentNameResolution, "_name_is_unique", _is_unique) monkeypatch.setattr(ExperimentNameConflict.ExperimentNameResolution, "_check_for_greater_versions", _versions) conflicts = detect_conflicts(parent_config, child_config) branch_builder = ExperimentBranchBuilder(conflicts, {'manual_resolution': True}) assert len(conflicts.get()) == 1 assert len(conflicts.get_resolved()) == 0 conflict = conflicts.get([ExperimentNameConflict])[0] assert not conflict.is_resolved branch_builder.change_experiment_name('test2') assert len(conflicts.get_resolved()) == 0 assert conflict.new_config['name'] == 'test' assert not conflict.is_resolved
def test_name_experiment(self, parent_config, child_config, create_db_instance): """Test if changing the experiment names work for valid name""" conflicts = detect_conflicts(parent_config, child_config) branch_builder = ExperimentBranchBuilder(conflicts, {}) assert len(conflicts.get()) == 1 assert len(conflicts.get_resolved()) == 0 conflict = conflicts.get([ExperimentNameConflict])[0] assert conflict.new_config['name'] == 'test' assert not conflict.is_resolved branch_builder.change_experiment_name('test2') assert len(conflicts.get_resolved()) == 1 assert conflict.new_config['name'] == 'test2' assert conflict.is_resolved
def test_bad_name_experiment(self, parent_config, child_config, create_db_instance): """Test if changing the experiment names does not work for invalid name and revert to old one """ create_db_instance.write('experiments', parent_config) conflicts = detect_conflicts(parent_config, child_config) branch_builder = ExperimentBranchBuilder(conflicts, {}) assert len(conflicts.get()) == 1 assert len(conflicts.get_resolved()) == 0 conflict = conflicts.get([ExperimentNameConflict])[0] conflict.new_config['name'] = 'should-not-be-overwritten' assert not conflict.is_resolved branch_builder.change_experiment_name('test') assert len(conflicts.get_resolved()) == 0 assert conflict.new_config['name'] == 'should-not-be-overwritten' assert not conflict.is_resolved
def test_name_experiment(self, bad_exp_parent_config, bad_exp_child_config, create_db_instance): """Test if having the same experiment name does not create a conflict.""" backward.populate_space(bad_exp_parent_config) backward.populate_space(bad_exp_child_config) create_db_instance.write('experiments', bad_exp_parent_config) create_db_instance.write('experiments', bad_exp_child_config) conflicts = detect_conflicts(bad_exp_parent_config, bad_exp_parent_config) branch_builder = ExperimentBranchBuilder(conflicts, manual_resolution=True) assert len(conflicts.get()) == 1 assert len(conflicts.get_resolved()) == 0 conflict = conflicts.get([ExperimentNameConflict])[0] assert conflict.new_config['name'] == 'test' assert not conflict.is_resolved branch_builder.change_experiment_name('test2') assert len(conflicts.get_resolved()) == 1 assert conflict.new_config['name'] == 'test2' assert conflict.is_resolved