Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }