Example #1
0
        public static void JsonNumberMethodsTest()
        {
            JsonNumber intA = 233, intB = 666, intC = 666, floatA = 43.25, floatB = 96.625, floatC = 96.625;
            object     objA = "";

            Assert.True(floatA.IsFloat);
            Assert.True(floatB.IsFloat);
            Assert.False(intA.IsFloat);
            Assert.False(intB.IsFloat);

            Assert.True(intB == intC);
            Assert.False(intB != intC);

            Assert.Equal <double>(233, intA);
            Assert.Equal <double>(43.25, floatA);

            Assert.True(intB.Equals(intC));
            Assert.False(intA.Equals(intB));
            Assert.False(intA.Equals(floatA));
            Assert.True(floatB.Equals(floatC));

            Assert.True(intB.Equals((object)intB));
            Assert.True(intB.Equals((object)intC));
            Assert.False(intB.Equals(objA));
            Assert.False(intB.Equals((object)null));
            Assert.False(intB.Equals(null));

            Assert.Equal(intB.ValueInt.GetHashCode(), intB.GetHashCode());
            Assert.Equal(floatB.ValueFloat.GetHashCode(), floatB.GetHashCode());
            Assert.Throws <ArgumentOutOfRangeException>(() => new JsonNumber("invalid"));
        }
Example #2
0
        public static void TestEquals()
        {
            var jsonNumber = new JsonNumber(123);

            Assert.True(jsonNumber.Equals(new JsonNumber(123)));
            Assert.True(new JsonNumber(123).Equals(jsonNumber));

            Assert.True(jsonNumber.Equals(new JsonNumber((ushort)123)));
            Assert.True(new JsonNumber((ushort)123).Equals(jsonNumber));

            Assert.True(jsonNumber.Equals(new JsonNumber("123")));
            Assert.True(new JsonNumber("123").Equals(jsonNumber));

            Assert.False(jsonNumber.Equals(new JsonNumber("123e0")));
            Assert.False(new JsonNumber("123e0").Equals(jsonNumber));

            Assert.False(jsonNumber.Equals(new JsonNumber("123e1")));
            Assert.False(new JsonNumber("123e1").Equals(jsonNumber));

            Assert.False(jsonNumber.Equals(new JsonNumber(17)));
            Assert.False(new JsonNumber(17).Equals(jsonNumber));

            Assert.True(jsonNumber == new JsonNumber(123));
            Assert.True(jsonNumber != new JsonNumber(17));

            JsonNode jsonNode = new JsonNumber(123);

            Assert.True(jsonNumber.Equals(jsonNode));

            IEquatable <JsonNumber> jsonNumberIEquatable = jsonNumber;

            Assert.True(jsonNumberIEquatable.Equals(jsonNumber));
            Assert.True(jsonNumber.Equals(jsonNumberIEquatable));

            Assert.False(jsonNumber.Equals(null));

            object jsonNumberCopy   = jsonNumber;
            object jsonNumberObject = new JsonNumber(123);

            Assert.True(jsonNumber.Equals(jsonNumberObject));
            Assert.True(jsonNumberCopy.Equals(jsonNumberObject));
            Assert.True(jsonNumberObject.Equals(jsonNumber));

            jsonNumber = new JsonNumber();
            Assert.True(jsonNumber.Equals(new JsonNumber()));
            Assert.False(jsonNumber.Equals(new JsonNumber(5)));

            Assert.False(jsonNumber.Equals(new Exception()));

            JsonNumber jsonNumberNull = null;

            Assert.False(jsonNumber == jsonNumberNull);
            Assert.False(jsonNumberNull == jsonNumber);

            Assert.True(jsonNumber != jsonNumberNull);
            Assert.True(jsonNumberNull != jsonNumber);
        }
Example #3
0
        public void NumberEqualsTest()
        {
            Assert.IsTrue(JsonNumber.Equals("0", "0"));
            Assert.IsTrue(JsonNumber.Equals("0.00", "0"));
            Assert.IsTrue(JsonNumber.Equals("1234", "1234"));
            Assert.IsTrue(JsonNumber.Equals("-1234", "-1234"));
            Assert.IsTrue(JsonNumber.Equals("0E1", "0"));
            Assert.IsFalse(JsonNumber.Equals("0", "-0"));
            Assert.IsTrue(JsonNumber.Equals("1.0E1", "10"));
            Assert.IsTrue(JsonNumber.Equals("1.0E2", "100"));
            Assert.IsTrue(JsonNumber.Equals("1.0E-1", "0.1"));
            Assert.IsTrue(JsonNumber.Equals("1.0E-2", "0.01"));
            Assert.IsTrue(JsonNumber.Equals("-1.0E1", "-10"));
            Assert.IsTrue(JsonNumber.Equals("-1.0E2", "-100"));
            Assert.IsTrue(JsonNumber.Equals("-1.0E-1", "-0.1"));
            Assert.IsTrue(JsonNumber.Equals("-1.0E-2", "-0.01"));
            Assert.IsFalse(JsonNumber.Equals("1.0E1", "-10"));
            Assert.IsFalse(JsonNumber.Equals("1.0E2", "-100"));
            Assert.IsFalse(JsonNumber.Equals("1.0E-1", "-0.1"));
            Assert.IsFalse(JsonNumber.Equals("1.0E-2", "-0.01"));
            Assert.IsTrue(JsonNumber.Equals("1.0E0", "1"));
            Assert.IsTrue(JsonNumber.Equals("1.00000E0", "1"));
            Assert.IsTrue(JsonNumber.Equals("1.00000E0", "1E0"));
            Assert.IsTrue(JsonNumber.Equals("1.23E0", "123E-2"));
            Assert.IsTrue(JsonNumber.Equals("1.23E0", "12300E-4"));
            Assert.IsFalse(JsonNumber.Equals("1.2345E0", "123E-2"));
            Assert.IsTrue(JsonNumber.Equals("-1.23E0", "-123E-2"));
            Assert.IsTrue(JsonNumber.Equals("-1.23E0", "-12300E-4"));
            Assert.IsFalse(JsonNumber.Equals("-1.2345E0", "-123E-2"));
            Assert.IsFalse(JsonNumber.Equals("1E-2", "1.0E2"));
            Assert.IsFalse(JsonNumber.Equals("1E-2", "1.0E2"));


            Assert.AreEqual(new JsonNumber("0").GetHashCode(), new JsonNumber("0").GetHashCode());
            Assert.AreEqual(new JsonNumber("0.00").GetHashCode(), new JsonNumber("0").GetHashCode());
            Assert.AreEqual(new JsonNumber("1234").GetHashCode(), new JsonNumber("1234").GetHashCode());
            Assert.AreEqual(new JsonNumber("-1234").GetHashCode(), new JsonNumber("-1234").GetHashCode());
            Assert.AreEqual(new JsonNumber("0E1").GetHashCode(), new JsonNumber("0").GetHashCode());
            Assert.AreEqual(new JsonNumber("1.0E1").GetHashCode(), new JsonNumber("10").GetHashCode());
            Assert.AreEqual(new JsonNumber("1.0E2").GetHashCode(), new JsonNumber("100").GetHashCode());
            Assert.AreEqual(new JsonNumber("1.0E-1").GetHashCode(), new JsonNumber("0.1").GetHashCode());
            Assert.AreEqual(new JsonNumber("1.0E-2").GetHashCode(), new JsonNumber("0.01").GetHashCode());
            Assert.AreEqual(new JsonNumber("-1.0E1").GetHashCode(), new JsonNumber("-10").GetHashCode());
            Assert.AreEqual(new JsonNumber("-1.0E2").GetHashCode(), new JsonNumber("-100").GetHashCode());
            Assert.AreEqual(new JsonNumber("-1.0E-1").GetHashCode(), new JsonNumber("-0.1").GetHashCode());
            Assert.AreEqual(new JsonNumber("-1.0E-2").GetHashCode(), new JsonNumber("-0.01").GetHashCode());
            Assert.AreEqual(new JsonNumber("1.0E0").GetHashCode(), new JsonNumber("1").GetHashCode());
            Assert.AreEqual(new JsonNumber("1.00000E0").GetHashCode(), new JsonNumber("1").GetHashCode());
            Assert.AreEqual(new JsonNumber("1.00000E0").GetHashCode(), new JsonNumber("1E0").GetHashCode());
            Assert.AreEqual(new JsonNumber("1.23E0").GetHashCode(), new JsonNumber("123E-2").GetHashCode());
            Assert.AreEqual(new JsonNumber("1.23E0").GetHashCode(), new JsonNumber("12300E-4").GetHashCode());
            Assert.AreEqual(new JsonNumber("-1.23E0").GetHashCode(), new JsonNumber("-123E-2").GetHashCode());
            Assert.AreEqual(new JsonNumber("-1.23E0").GetHashCode(), new JsonNumber("-12300E-4").GetHashCode());
        }