in src/TestHelpers/Assertions/JTokenAssertionsExtensions.cs [41:66]
public static AndConstraint<JTokenAssertions> EqualWithJsonDiffOutput(this JTokenAssertions instance, Assembly sourceAssembly, TestContext testContext, JToken expected, string expectedLocation, string actualLocation, string because = "", params object[] becauseArgs)
{
var jsonDiff = GetJsonDiff(instance.Subject, expected);
var testPassed = jsonDiff is null;
var isBaselineUpdate = !testPassed && BaselineHelper.ShouldSetBaseline(testContext);
if (isBaselineUpdate)
{
BaselineHelper.SetBaseline(actualLocation, expectedLocation);
}
var fullActualLocation = BaselineHelper.TryGetAbsolutePathRelativeToRepoRoot(actualLocation);
var fullExpectedLocation = BaselineHelper.TryGetAbsolutePathRelativeToRepoRoot(expectedLocation);
Execute.Assertion
.BecauseOf(because, becauseArgs)
.ForCondition(testPassed)
.FailWith(
BaselineHelper.GetAssertionFormatString(isBaselineUpdate, canUpdateBaselines: fullActualLocation is not null && fullExpectedLocation is not null),
jsonDiff,
fullActualLocation,
fullExpectedLocation,
sourceAssembly.Location);
return new AndConstraint<JTokenAssertions>(instance);
}