def test_error_guessing_false_optional_features_case_5() -> None: feature_1 = Feature("A", None, None, True) feature_2 = Feature("B", None, None, True) feature_3 = Feature("C", None, None, False) relation_1 = Relation(feature_1, [feature_2, feature_3], 1, 2) feature_1.add_relation(relation_1) node_1 = Node(ASTOperation.REQUIRES) node_1.left = Node("B") node_1.right = Node("C") ast_1 = AST(node_1) ctc_1 = Constraint("ctc_1", ast_1) model = FeatureModel(feature_1, [ctc_1]) path = normalize_path( "error-guessing/false-optional-features/case5/fof-case5") run(path, model)
def test_relationships_or_requires() -> None: feature_1 = Feature("A", None, None, True) feature_2 = Feature("B", None, None, True) feature_3 = Feature("C", None, None, True) relation_1 = Relation(feature_1, [feature_2, feature_3], 1, 2) feature_1.add_relation(relation_1) node_1 = Node(ASTOperation.REQUIRES) node_1.left = Node("B") node_1.right = Node("C") ast_1 = AST(node_1) ctc_1 = Constraint("ctc_1", ast_1) model = FeatureModel(feature_1, [ctc_1]) path = normalize_path( "relationships/or-requires/or-requires") run(path, model)
def test_error_guessing_dead_features_case_5() -> None: feature_1 = Feature("A", None, None, False) feature_2 = Feature("B", None, None, False) feature_3 = Feature("C", None, None, False) relation_1 = Relation(feature_1, [feature_2], 1, 1) relation_2 = Relation(feature_1, [feature_3], 1, 1) feature_1.add_relation(relation_1) feature_1.add_relation(relation_2) node_1 = Node(ASTOperation.EXCLUDES) node_1.left = Node("B") node_1.right = Node("C") ast_1 = AST(node_1) ctc_1 = Constraint("ctc_1", ast_1) model = FeatureModel(feature_1, [ctc_1]) path = normalize_path("error-guessing/dead-features/case5/df-case5") run(path, model)
def test_relationships_mandatory_excludes() -> None: feature_1 = Feature("A", None, None, True) feature_2 = Feature("B", None, None, True) feature_3 = Feature("C", None, None, True) relation_1 = Relation(feature_1, [feature_2], 1, 1) relation_2 = Relation(feature_1, [feature_3], 1, 1) feature_1.add_relation(relation_1) feature_1.add_relation(relation_2) node_1 = Node(ASTOperation.EXCLUDES) node_1.left = Node("B") node_1.right = Node("C") ast_1 = AST(node_1) ctc_1 = Constraint("ctc_1", ast_1) model = FeatureModel(feature_1, [ctc_1]) path = normalize_path( "relationships/mandatory-excludes/mandatory-excludes") run(path, model)
def test_error_guessing_redundancies_case_1() -> None: feature_1 = Feature("A", None, None, True) feature_2 = Feature("B", None, None, True) feature_3 = Feature("C", None, None, True) relation_1 = Relation(feature_1, [feature_2], 0, 1) relation_2 = Relation(feature_1, [feature_3], 1, 1) feature_1.add_relation(relation_1) feature_1.add_relation(relation_2) node_1 = Node(ASTOperation.REQUIRES) node_1.left = Node("B") node_1.right = Node("C") ast_1 = AST(node_1) ctc_1 = Constraint("ctc_1", ast_1) model = FeatureModel(feature_1, [ctc_1]) path = normalize_path( "error-guessing/redundancies/case1/r-case1") run(path, model)