def test_rename_missing(self, parent_config, missing_config): """Test if renaming a dimension to another solves both conflicts""" missing_config['metadata']['user_args'].append('-w_d~uniform(0,1)') backward.populate_priors(missing_config['metadata']) conflicts = detect_conflicts(parent_config, missing_config) branch_builder = ExperimentBranchBuilder(conflicts, {'manual_resolution': True}) branch_builder.rename_dimension('x', 'w_d') assert len(conflicts.get()) == 4 assert conflicts.get([ExperimentNameConflict])[0].is_resolved assert conflicts.get([NewDimensionConflict])[0].is_resolved assert conflicts.get([MissingDimensionConflict])[0].is_resolved assert not conflicts.get([MissingDimensionConflict])[1].is_resolved resolved_conflicts = conflicts.get_resolved() assert len(resolved_conflicts) == 3 assert resolved_conflicts[1].resolution is resolved_conflicts[ 2].resolution assert isinstance(resolved_conflicts[1].resolution, resolved_conflicts[1].RenameDimensionResolution) assert resolved_conflicts[1].resolution.conflict.dimension.name == '/x' assert resolved_conflicts[ 1].resolution.new_dimension_conflict.dimension.name == '/w_d'
def test_rename_missing_changed(self, parent_config, missing_config): """Test if renaming a dimension to another with different prior solves both conflicts but creates a new one which is not solved """ missing_config['metadata']['user_args'].append('-w_d~normal(0,1)') conflicts = detect_conflicts(parent_config, missing_config) branch_builder = ExperimentBranchBuilder(conflicts, {}) assert len(conflicts.get()) == 4 branch_builder.rename_dimension('x', 'w_d') assert len(conflicts.get()) == 5 assert not conflicts.get([ExperimentNameConflict])[0].is_resolved assert conflicts.get([NewDimensionConflict])[0].is_resolved assert conflicts.get([MissingDimensionConflict])[0].is_resolved assert not conflicts.get([MissingDimensionConflict])[1].is_resolved assert not conflicts.get([ChangedDimensionConflict])[0].is_resolved resolved_conflicts = conflicts.get_resolved() assert len(resolved_conflicts) == 2 assert resolved_conflicts[0].resolution is resolved_conflicts[1].resolution assert isinstance(resolved_conflicts[0].resolution, resolved_conflicts[0].RenameDimensionResolution) assert resolved_conflicts[0].resolution.conflict.dimension.name == '/x' assert resolved_conflicts[0].resolution.new_dimension_conflict.dimension.name == '/w_d'
def test_rename_missing_changed(self, parent_config, missing_config): """Test if renaming a dimension to another with different prior solves both conflicts but creates a new one which is not solved """ missing_config["metadata"]["user_args"].append("-w_d~normal(0,1)") backward.populate_space(missing_config) conflicts = detect_conflicts(parent_config, missing_config) branch_builder = ExperimentBranchBuilder(conflicts, manual_resolution=True) assert len(conflicts.get()) == 4 branch_builder.rename_dimension("x", "w_d") assert len(conflicts.get()) == 5 assert conflicts.get([ExperimentNameConflict])[0].is_resolved assert conflicts.get([NewDimensionConflict])[0].is_resolved assert conflicts.get([MissingDimensionConflict])[0].is_resolved assert not conflicts.get([MissingDimensionConflict])[1].is_resolved assert not conflicts.get([ChangedDimensionConflict])[0].is_resolved resolved_conflicts = conflicts.get_resolved() assert len(resolved_conflicts) == 3 assert resolved_conflicts[1].resolution is resolved_conflicts[2].resolution assert isinstance( resolved_conflicts[1].resolution, resolved_conflicts[1].RenameDimensionResolution, ) assert resolved_conflicts[1].resolution.conflict.dimension.name == "/x" assert ( resolved_conflicts[1].resolution.new_dimension_conflict.dimension.name == "/w_d" )