public void Parse(string input, string expectedIntegerPart, string expectedFractionalPart = null, string expectedExponent = null) { var number = JNumber.Parse(input); if (string.IsNullOrEmpty(expectedIntegerPart) == false) { Assert.AreEqual(expectedIntegerPart, number.IntegerPart.ToString()); } else { Assert.IsTrue(number.IntegerPart.IsNaN); } if (string.IsNullOrEmpty(expectedFractionalPart) == false) { Assert.AreEqual(expectedFractionalPart, number.FractionalPart.ToString()); } else { Assert.IsTrue(number.FractionalPart.IsNaN); } if (string.IsNullOrEmpty(expectedExponent) == false) { Assert.AreEqual(expectedExponent, number.Exponent.ToString()); } else { Assert.IsTrue(number.Exponent.IsNaN); } }
public void Equality(string left, string right) { Assert.IsTrue(JNumber.Equals(JNumber.Parse(left), JNumber.Parse(right))); if (left.StartsWith("-", StringComparison.Ordinal) == false) { left = FormattableString.Invariant($"-{left}"); right = FormattableString.Invariant($"-{right}"); Assert.IsTrue(JNumber.Equals(JNumber.Parse(left), JNumber.Parse(right))); } }
public int LeadingZeros(string input) => JNumber.Parse(input).FractionalPart.LeadingZeros;
public void TwoNumber_Are_Equal_But_NotEquivalent(string left, string right) { Assert.IsTrue( JNumber.Equals(JNumber.Parse(left), JNumber.Parse(right)) && JNumber.Compare(JNumber.Parse(left), JNumber.Parse(right)) != 0); }
public void Compare(string less, string greater) { Assert.IsTrue(JNumber.Compare(JNumber.Parse(less), JNumber.Parse(greater)) < 0); Assert.IsTrue(JNumber.Compare(JNumber.Parse(greater), JNumber.Parse(less)) > 0); }
public void Inequality(string left, string right) => Assert.IsFalse(JNumber.Equals(JNumber.Parse(left), JNumber.Parse(right)));