public void When_A_g_B_and_B_g_C_and_A_s_C_thenDetectCircle() { var variables = new List <Variable>() { new Variable("A", null), new Variable("B", null), new Variable("C", null) }; var constraints = new List <Constraint> { new Constraint(1, variables[0], CompareEnum.Greater, variables[1]), new Constraint(2, variables[1], CompareEnum.Greater, variables[2]), new Constraint(3, variables[0], CompareEnum.Smaller, variables[2]) }; Approvals.Verify(ConstraintManager.GetCircles(constraints, 3).ToPrettyString()); }
public void WhenCircleWithFourNodes_ThenDetectCircle() { var variables = new List <Variable>() { new Variable("A", null), new Variable("B", null), new Variable("C", null), new Variable("D", null) }; var constraints = new List <Constraint> { new Constraint(1, variables[0], CompareEnum.Smaller, variables[2]), new Constraint(2, variables[1], CompareEnum.Greater, variables[2]), new Constraint(3, variables[1], CompareEnum.Smaller, variables[3]), new Constraint(4, variables[0], CompareEnum.Greater, variables[3]) }; Approvals.Verify(ConstraintManager.GetCircles(constraints, 4).ToPrettyString()); }
public void When_detection_not_possible_ThenLastCircleElementIsInconsistent() { var variables = new List <Variable>() { new Variable("A", null), new Variable("B", null), new Variable("C", null), new Variable("D", null) }; var constraints = new List <Constraint> { new Constraint(1, variables[0], CompareEnum.Smaller, variables[2]), new Constraint(2, variables[1], CompareEnum.Greater, variables[2]), new Constraint(3, variables[1], CompareEnum.Smaller, variables[3]), new Constraint(4, variables[0], CompareEnum.Greater, variables[3]) }; var circle = ConstraintManager.GetCircles(constraints, 4).First(); Approvals.Verify(ConstraintManager.GetInconsistendConstraint(circle, constraints).ToPrettyString()); }
public void When_A_g_D_is_correct_Then_B_s_D_IsInconsistent() { var variables = new List <Variable>() { new Variable("A", null), new Variable("B", null), new Variable("C", null), new Variable("D", null), new Variable("E", null) }; var constraints = new List <Constraint> { new Constraint(1, variables[0], CompareEnum.Smaller, variables[2]), new Constraint(2, variables[1], CompareEnum.Greater, variables[2]), new Constraint(3, variables[1], CompareEnum.Smaller, variables[3]), new Constraint(4, variables[0], CompareEnum.Greater, variables[3]), new Constraint(5, variables[0], CompareEnum.Greater, variables[4]), new Constraint(6, variables[4], CompareEnum.Greater, variables[3]) }; var circle = ConstraintManager.GetCircles(constraints, 6).First(); Approvals.Verify(ConstraintManager.GetInconsistendConstraint(circle, constraints).ToPrettyString()); }