Beispiel #1
0
        public static void JsonNullMethodsTest()
        {
            JsonNull nullA = new JsonNull(), nullB = new JsonNull();

            Assert.True(nullA.Equals(nullB));
            Assert.True(nullA.Equals((object)null));
            Assert.True(nullA.Equals((object)nullB));

            Assert.True(nullA == nullB);
            Assert.False(nullA != nullB);

            Assert.Equal(0, nullA.GetHashCode());
        }
Beispiel #2
0
        public static void TestEquals()
        {
            var jsonNull1 = new JsonNull();
            var jsonNull2 = new JsonNull();

            Assert.True(jsonNull1.Equals(jsonNull2));
            Assert.True(jsonNull1 == jsonNull2);
            Assert.False(jsonNull1 != jsonNull2);

            JsonNode jsonNodeJsonNull = new JsonNull();

            Assert.True(jsonNull1.Equals(jsonNodeJsonNull));
            Assert.True(jsonNodeJsonNull.Equals(jsonNull1));

            IEquatable <JsonNull> jsonNullIEquatable = jsonNull2;

            Assert.True(jsonNullIEquatable.Equals(jsonNull1));
            Assert.True(jsonNull1.Equals(jsonNullIEquatable));

            object jsonNullCopy = jsonNull1;

            Assert.True(jsonNullCopy.Equals(jsonNull1));
            Assert.True(jsonNull1.Equals(jsonNullCopy));

            object jsonNullObject = new JsonNull();

            Assert.True(jsonNullObject.Equals(jsonNull1));
            Assert.True(jsonNull1.Equals(jsonNullObject));

            Assert.False(jsonNull1.Equals(new JsonString("null")));
            Assert.False(jsonNull1.Equals(new Exception()));

            // Null comparisons behave this way because of implicit conversion from null to JsonNull:

            Assert.True(jsonNull1.Equals(null));
            Assert.True(jsonNull1 == null);
            Assert.False(jsonNull1 != null);

            JsonNull jsonNullNull = null;

            Assert.True(jsonNull1.Equals(jsonNullNull));
            Assert.True(jsonNull1 == jsonNullNull);
            Assert.False(jsonNull1 != jsonNullNull);

            JsonNull otherJsonNullNull = null;

            Assert.True(jsonNullNull == otherJsonNullNull);

            // Only for null JsonNode / different derived type this will return false:

            JsonNode jsonNodeNull = null;

            Assert.False(jsonNull1.Equals(jsonNodeNull));

            JsonArray jsonArrayNull = null;

            Assert.False(jsonNull1.Equals(jsonArrayNull));
        }