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)); }
internal static string CreateNotEqualMessage(object expected, object actual) { var expectedValueString = ObjectInterpreter.GetStringRepresentation(expected); var actualValueString = ObjectInterpreter.GetStringRepresentation(actual); var message = $"Expected '{expectedValueString}' to equal actual '{actualValueString}'."; return(message); }
public AssertionResult Assert() { var canCreateobject = ObjectFactory.TryCreatingObject(out T _, _constructorInfo, _argumentValues); if (canCreateobject && _constructingShouldFail) { var shouldFailMessage = $" Arguments '{ObjectInterpreter.GetStringRepresentation(_argumentValues)}' should fail."; return(AssertionResult.CreateFail(shouldFailMessage)); } if (!canCreateobject && !_constructingShouldFail) { var shouldNotFailMessage = $" Arguments '{ObjectInterpreter.GetStringRepresentation(_argumentValues)}' should not fail."; return(AssertionResult.CreateFail(shouldNotFailMessage)); } return(AssertionResult.CreateSuccess()); }