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