public static NullityClause Matcher(this NullityClause self) { return(Match.Create <NullityClause>(nc => ReferenceEquals(nc.LHS.Field, self.LHS.Field) && !nc.LHS.Function.HasValue && nc.Operator == self.Operator )); }
public void NullityClauseNotNegated() { // Arrange var mockField = new Mock <IField>(); var op = NullityOperator.IsNotNull; // Act var clause = new NullityClause(mockField.Object, op); var fields = clause.GetDependentFields(); // Assert clause.LHS.Field.Should().Be(mockField.Object); clause.LHS.Function.Should().NotHaveValue(); clause.Operator.Should().Be(op); fields.Should().BeEquivalentTo(new IField[] { mockField.Object }); }
public void NullityClauseNegated_IsNotNull() { // Arrange var mockField = new Mock <IField>(); var op = NullityOperator.IsNotNull; var clause = new NullityClause(mockField.Object, op); var mockBuilder = new Mock <IConstraintDeclBuilder>(); // Act var negation = clause.Negation(); negation.AddDeclarationTo(mockBuilder.Object); // Assert var expected = new NullityClause(mockField.Object, NullityOperator.IsNull); mockBuilder.Verify(builder => builder.AddClause(expected.Matcher())); mockBuilder.VerifyNoOtherCalls(); }