public void RoundToIntNotAtMidPoint(MidpointRoundingMode mode) { const int range = 3; var epsilon = new BigRational(1, 3); for (BigRational rational = -range; rational <= range; ++rational) { AssertEqual(rational, BigRational.RoundToInt(rational + epsilon, mode)); AssertEqual(rational, BigRational.RoundToInt(rational - epsilon, mode)); } }
public void RoundToIntModeError() { Assert.Throws <ArgumentException>(() => BigRational.RoundToInt(1, (MidpointRoundingMode)100)); }
public void RoundToIntAtMidPoint(string rational, MidpointRoundingMode mode, int rounded) { Assert.AreEqual( BigRational.RoundToInt(BigRational.Parse(rational), mode), new BigInteger(rounded)); }