public static void ShouldDeepEqual( this object actual, object expected, IComparison comparison, IDifferenceFormatterFactory formatterFactory) { var builder = new ComparisonBuilder(); comparison = comparison ?? builder.Create(); formatterFactory = formatterFactory ?? builder.GetFormatterFactory(); var context = new ComparisonContext(); var(result, newContext) = comparison.Compare(context, actual, expected); if (result != ComparisonResult.Fail) { return; } var message = new DeepEqualExceptionMessageBuilder(newContext, formatterFactory).GetMessage(); throw new DeepEqualException(message, newContext); }
public DeepEqualExceptionMessageBuilder(IComparisonContext context, IDifferenceFormatterFactory formatterFactory) { this.context = context; this.formatterFactory = formatterFactory; }