public void AreEqualJson_ArraysOfObjectsAsPropertyButDifferentOrder_AreqEquivilant() { var expected = "{ \"prop1\" : [{\"prop3\": \"test\", \"prop4\": 18}, {\"prop3\": \"test5\", \"prop4\": 44}]}"; var actual = "{ \"prop1\" : [{\"prop3\": \"test5\", \"prop4\": 44}, {\"prop3\": \"test\", \"prop4\": 18}]}"; var expectedObject = JsonDocument.Parse(expected).RootElement; var actualObject = JsonDocument.Parse(actual).RootElement; JsonComparer.AreEqualJson(expectedObject, actualObject); }
public void AreEqualJson_ArraysButDifferentOrder_AreqEquivilant() { var expected = "[1,2,3,4,5]"; var actual = "[5,4,3,2,1]"; var expectedObject = JsonDocument.Parse(expected).RootElement; var actualObject = JsonDocument.Parse(actual).RootElement; JsonComparer.AreEqualJson(expectedObject, actualObject); }
public void AreEqualJson_ArraysAsPropertyButDifferentOrder_AreqEquivilant() { var expected = "{ \"prop1\" : [1,2,3,4,5]}"; var actual = "{ \"prop1\" : [1,2,3,4,5] }"; var expectedObject = JsonDocument.Parse(expected).RootElement; var actualObject = JsonDocument.Parse(actual).RootElement; JsonComparer.AreEqualJson(expectedObject, actualObject); }
public void AreEqualJson_Objects_SameButDifferentPropertyOrder_AreqEquivilant() { var expected = "{ \"prop1\" : \"Value1\", \"prop2\": 5}"; var actual = "{ \"prop2\" : 5, \"prop1\": \"Value1\"}"; var expectedObject = JsonDocument.Parse(expected).RootElement; var actualObject = JsonDocument.Parse(actual).RootElement; JsonComparer.AreEqualJson(expectedObject, actualObject); }
/// <summary> /// Converts the actual object into a json string and compares it to the expected string. /// Expected json string is normalized to eliminate variations due to whitespace and non-printable characters. /// </summary> /// <param name="expectedJson">The expected json.</param> /// <param name="actualJson">The actual data from the test.</param> /// <param name="messsage">The messsage to show when asserting a failure.</param> public static void AreEqualJsonStrings(string expectedJson, string actualJson, string messsage = null) { var options = new JsonDocumentOptions() { AllowTrailingCommas = true, CommentHandling = JsonCommentHandling.Skip, }; var expectedJsonObject = JsonDocument.Parse(expectedJson, options).RootElement; var actualJsonObject = JsonDocument.Parse(actualJson, options).RootElement; JsonComparer.AreEqualJson(expectedJsonObject, actualJsonObject, messsage); }