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