public AssertionResult Assert(TP actualPropertyValue) { var notEqualMessage = FailingMessageFactory.CreateNotEqualMessage(_expectedValue, actualPropertyValue); var actualIsNull = actualPropertyValue == null; var expectedIsNull = _expectedValue == null; // Both Null = fine if (actualIsNull && expectedIsNull) { return(AssertionResult.CreateSuccess()); } // One Null = Not fine if (!actualIsNull ^ !expectedIsNull) { return(AssertionResult.CreateFail(notEqualMessage)); } if (actualPropertyValue.Equals(_expectedValue)) { return(AssertionResult.CreateSuccess()); } return(AssertionResult.CreateFail(notEqualMessage)); }
public AssertionResult Assert(TP actualPropertyValue) { var notEqualMessage = FailingMessageFactory.CreateNotEqualMessage(_expectedValues, actualPropertyValue); var actualIsNull = actualPropertyValue == null; var expectedIsNull = _expectedValues == null; // Both Null = fine if (actualIsNull && expectedIsNull) { return(AssertionResult.CreateSuccess()); } // One Null = Not fine if (!actualIsNull ^ !expectedIsNull) { return(AssertionResult.CreateFail(notEqualMessage)); } // Compare enumerables if (!(actualPropertyValue is IEnumerable <object> actualCollection)) { var notEnumerableMessage = $"Actual '{ObjectInterpreter.GetStringRepresentation(actualPropertyValue)}' is not an IEnumerable."; return(AssertionResult.CreateFail(notEnumerableMessage)); } if (actualCollection.HasSameElementsAs(_expectedValues)) { return(AssertionResult.CreateSuccess()); } return(AssertionResult.CreateFail(notEqualMessage)); }
public void ComparingConstructorNull_ToNotNullValueCollection_DoesThrow() { var expectedList = new List <string>(); var expexctedMessageEnding = FailingMessageFactory.CreateNotEqualMessage(expectedList, null); Assert.That( () => { ConstructorTestBuilderFactory.Constructing <Organisation>() .UsingDefaultConstructor() .WithArgumentValues(null) .Maps() .ToProperty(f => f.Addresses).WithValues(expectedList) .BuildMaps() .Assert(); }, Throws.TypeOf <AssertionException>() .And.Message.EndsWith(expexctedMessageEnding)); }
public void ComparingConstructorNull_ToNotNullValue_DoesThrow() { var expectedDate = new DateTime(1986, 12, 29); var expectedMessageEnding = FailingMessageFactory.CreateNotEqualMessage(expectedDate, null); Assert.That( () => { ConstructorTestBuilderFactory.Constructing <Individual>() .UsingConstructorWithParameters(typeof(string), typeof(string), typeof(DateTime?)) .WithArgumentValues("Matthias", "Müller", null) .Maps() .ToProperty(f => f.BirthDate).WithValue(expectedDate) .ToProperty(f => f.FirstName).WithValue("Matthias") .ToProperty(f => f.LastName).WithValue("Müller") .BuildMaps() .Assert(); }, Throws.TypeOf <AssertionException>() .And.Message.EndsWith(expectedMessageEnding)); }
public void WithMappingToProperty_MappingBeingIncorrect_Throws() { const string FirstName = "Steve"; const string LastName = "Austin"; var birthdate = new DateTime(1964, 12, 18); const string ExpectedFullNameBeingWrong = "Other String"; const string ActualCorrectFullName = "Steve Austin"; var expexctedMessageEnding = FailingMessageFactory.CreateNotEqualMessage(ExpectedFullNameBeingWrong, ActualCorrectFullName); Assert.That( () => { ConstructorTestBuilderFactory.Constructing <Individual>() .UsingConstructorWithParameters(typeof(string), typeof(string), typeof(DateTime?)) .WithArgumentValues(FirstName, LastName, birthdate) .Maps() .ToProperty(f => f.FullName).WithValue(ExpectedFullNameBeingWrong) .BuildMaps() .Assert(); }, Throws.TypeOf <AssertionException>() .And.Message.EndsWith(expexctedMessageEnding)); }
public void PassingCollectionValues_MappingPropertyToCollectionWithDifferentValues_Throws() { var actualList = new List <string> { "Test1", "Test2" }; var expectedList = new List <string> { "Other1", "Test2" }; var expexctedMessageEnding = FailingMessageFactory.CreateNotEqualMessage(expectedList, actualList); Assert.That( () => { ConstructorTestBuilderFactory.Constructing <Organisation>() .UsingDefaultConstructor() .WithArgumentValues(actualList) .Maps() .ToProperty(f => f.Addresses).WithValues(expectedList) .BuildMaps() .Assert(); }, Throws.TypeOf <AssertionException>() .And.Message.EndsWith(expexctedMessageEnding)); }