示例#1
0
        public static void Round_ToOdd_ForHalfWayPoints()
        {
            Func <decimal, decimal> round = _ => RoundingAdjusters.Round(_, RoundingMode.ToOdd);

            Assert.Equal(1m, round(1.5m));
            Assert.Equal(1m, round(0.5m));
            Assert.Equal(-1m, round(-0.5m));
            Assert.Equal(-1m, round(-1.5m));
        }
示例#2
0
        public static void Round_HalfAwayFromZero_ForHalfWayPoints()
        {
            Func <decimal, decimal> round = _ => RoundingAdjusters.Round(_, RoundingMode.HalfAwayFromZero);

            Assert.Equal(2m, round(1.5m));
            Assert.Equal(1m, round(0.5m));
            Assert.Equal(-1m, round(-0.5m));
            Assert.Equal(-2m, round(-1.5m));
        }
示例#3
0
        public static void Round_HalfDown_ForHalfWayPoints()
        {
            Func <decimal, decimal> round = _ => RoundingAdjusters.Round(_, RoundingMode.HalfDown);

            Assert.Equal(1m, round(1.5m));
            Assert.Equal(0m, round(0.5m));
            Assert.Equal(-1m, round(-0.5m));
            Assert.Equal(-2m, round(-1.5m));
            Assert.Equal(Decimal.MinValue, round(Decimal.MinValue));
        }
示例#4
0
        public static void Round_AwayFromZero()
        {
            Func <decimal, decimal> round = _ => RoundingAdjusters.Round(_, RoundingMode.AwayFromZero);

            Assert.Equal(2m, round(1.6m));
            Assert.Equal(2m, round(1.5m));
            Assert.Equal(2m, round(1.4m));
            Assert.Equal(1m, round(1m));
            Assert.Equal(1m, round(0.6m));
            Assert.Equal(1m, round(0.5m));
            Assert.Equal(1m, round(0.4m));
            Assert.Equal(0m, round(0m));
            Assert.Equal(-1m, round(-0.4m));
            Assert.Equal(-1m, round(-0.5m));
            Assert.Equal(-1m, round(-0.6m));
            Assert.Equal(-1m, round(-1m));
            Assert.Equal(-2m, round(-1.4m));
            Assert.Equal(-2m, round(-1.5m));
            Assert.Equal(-2m, round(-1.6m));

            Assert.Equal(Decimal.MaxValue, round(Decimal.MaxValue));
            Assert.Equal(Decimal.MinValue, round(Decimal.MinValue));
        }
示例#5
0
 public static void Round_ToOdd(decimal value, decimal expectedValue)
 => Assert.Equal(expectedValue, RoundingAdjusters.Round(value, RoundingMode.ToOdd));
示例#6
0
 public static void Round_HalfAwayFromZero(decimal value, decimal expectedValue)
 => Assert.Equal(expectedValue, RoundingAdjusters.Round(value, RoundingMode.HalfAwayFromZero));
示例#7
0
 public static void Round_HalfUp_ForMaxValue()
 => Assert.Equal(Decimal.MaxValue, RoundingAdjusters.Round(Decimal.MaxValue, RoundingMode.HalfUp));
示例#8
0
 public static void Round_HalfDown_ForMinValue()
 => Assert.Equal(Decimal.MinValue, RoundingAdjusters.Round(Decimal.MinValue, RoundingMode.HalfDown));
示例#9
0
 public static void Round_HalfDown(decimal value, decimal expectedValue)
 => Assert.Equal(expectedValue, RoundingAdjusters.Round(value, RoundingMode.HalfDown));
 public decimal Round(decimal value, int decimalPlaces)
 => UpOrDown
     ? RoundingAdjusters.HalfUp(value, decimalPlaces)
     : RoundingAdjusters.HalfDown(value, decimalPlaces);
 public decimal Round(decimal value)
 => UpOrDown
     ? RoundingAdjusters.HalfUp(value)
     : RoundingAdjusters.HalfDown(value);