Exemple #1
0
 public void CheckDecimalPlaces()
 {
     Assert.IsTrue(DecimalRule <TestData, decimal> .CheckDecimalPlaces(0m, 2));
     Assert.IsTrue(DecimalRule <TestData, decimal> .CheckDecimalPlaces(1.1m, 2));
     Assert.IsTrue(DecimalRule <TestData, decimal> .CheckDecimalPlaces(1.12m, 2));
     Assert.IsFalse(DecimalRule <TestData, decimal> .CheckDecimalPlaces(1.123m, 2));
     Assert.IsFalse(DecimalRule <TestData, decimal> .CheckDecimalPlaces(1.1234m, 2));
 }
        /// <summary>
        /// Check if property is convertible to decimal.
        /// </summary>
        /// <param name="provider">An object that supplies culture-specific parsing information. Default CurrentCulture.</param>
        /// <returns>Current instance.</returns>
        public PropertyValidator <TRow> TryParseDecimal(IFormatProvider provider = null)
        {
            DecimalRule <TRow> method = new DecimalRule <TRow>((x) => this.getter(x));

            method.TryParseDecimal(provider);
            this.validationRules.Add(method);
            return(this);
        }
Exemple #3
0
        public void CheckMaxDigits()
        {
            Assert.IsTrue(DecimalRule <TestData, decimal> .CheckMaxDigits(0m, 5));
            Assert.IsTrue(DecimalRule <TestData, decimal> .CheckMaxDigits(12345m, 5));
            Assert.IsTrue(DecimalRule <TestData, decimal> .CheckMaxDigits(123.45m, 5));
            Assert.IsTrue(DecimalRule <TestData, decimal> .CheckMaxDigits(1.2345m, 5));

            Assert.IsFalse(DecimalRule <TestData, decimal> .CheckMaxDigits(123456m, 5));
            Assert.IsFalse(DecimalRule <TestData, decimal> .CheckMaxDigits(123.456m, 5));
            Assert.IsFalse(DecimalRule <TestData, decimal> .CheckMaxDigits(1.23456m, 5));
        }
Exemple #4
0
        public void CalcIntegralLength()
        {
            Assert.AreEqual(0, DecimalRule <TestData, decimal> .CalcIntegerPartLength(0m));
            Assert.AreEqual(0, DecimalRule <TestData, decimal> .CalcIntegerPartLength(0.0000001m));
            Assert.AreEqual(0, DecimalRule <TestData, decimal> .CalcIntegerPartLength(0.9999999m));
            Assert.AreEqual(1, DecimalRule <TestData, decimal> .CalcIntegerPartLength(1.0000001m));
            Assert.AreEqual(1, DecimalRule <TestData, decimal> .CalcIntegerPartLength(9.9999999m));
            Assert.AreEqual(2, DecimalRule <TestData, decimal> .CalcIntegerPartLength(10.0000001m));
            Assert.AreEqual(2, DecimalRule <TestData, decimal> .CalcIntegerPartLength(99.9999999m));
            Assert.AreEqual(29, DecimalRule <TestData, decimal> .CalcIntegerPartLength(decimal.MaxValue));

            Assert.AreEqual(0, DecimalRule <TestData, decimal> .CalcIntegerPartLength(-0.0000001m));
            Assert.AreEqual(0, DecimalRule <TestData, decimal> .CalcIntegerPartLength(-0.9999999m));
            Assert.AreEqual(1, DecimalRule <TestData, decimal> .CalcIntegerPartLength(-1.0000001m));
            Assert.AreEqual(1, DecimalRule <TestData, decimal> .CalcIntegerPartLength(-9.9999999m));
            Assert.AreEqual(2, DecimalRule <TestData, decimal> .CalcIntegerPartLength(-10.0000001m));
            Assert.AreEqual(2, DecimalRule <TestData, decimal> .CalcIntegerPartLength(-99.9999999m));
            Assert.AreEqual(29, DecimalRule <TestData, decimal> .CalcIntegerPartLength(decimal.MinValue));
        }
Exemple #5
0
        public void CalcDecimalPlaces()
        {
            Assert.AreEqual(0, DecimalRule <TestData, decimal> .CalcFractionalPartLength(0m));
            Assert.AreEqual(7, DecimalRule <TestData, decimal> .CalcFractionalPartLength(0.0000001m));
            Assert.AreEqual(4, DecimalRule <TestData, decimal> .CalcFractionalPartLength(0.0001000m));
            Assert.AreEqual(7, DecimalRule <TestData, decimal> .CalcFractionalPartLength(1.0000001m));
            Assert.AreEqual(3, DecimalRule <TestData, decimal> .CalcFractionalPartLength(450.678m));
            Assert.AreEqual(0, DecimalRule <TestData, decimal> .CalcFractionalPartLength(1500m));
            Assert.AreEqual(0, DecimalRule <TestData, decimal> .CalcFractionalPartLength(decimal.MaxValue));
            Assert.AreEqual(4, DecimalRule <TestData, decimal> .CalcFractionalPartLength(long.MaxValue + 1.0001m));

            Assert.AreEqual(0, DecimalRule <TestData, decimal> .CalcFractionalPartLength(0m));
            Assert.AreEqual(7, DecimalRule <TestData, decimal> .CalcFractionalPartLength(-0.0000001m));
            Assert.AreEqual(4, DecimalRule <TestData, decimal> .CalcFractionalPartLength(-0.0001000m));
            Assert.AreEqual(7, DecimalRule <TestData, decimal> .CalcFractionalPartLength(-1.0000001m));
            Assert.AreEqual(3, DecimalRule <TestData, decimal> .CalcFractionalPartLength(-450.678m));
            Assert.AreEqual(0, DecimalRule <TestData, decimal> .CalcFractionalPartLength(-1500m));
            Assert.AreEqual(0, DecimalRule <TestData, decimal> .CalcFractionalPartLength(decimal.MinValue));
            Assert.AreEqual(4, DecimalRule <TestData, decimal> .CalcFractionalPartLength(long.MinValue - 1.0001m));
        }