public static AndConstraint EqualWithJsonDiffOutput()

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);
    }