Exemple #1
0
        public void IsValid()
        {
            var attribute = new MustBePreciseToDecimalPlacesAttribute(0);

            Assert.AreEqual(true, attribute.IsValid(null));
            Assert.AreEqual(true, attribute.IsValid(DBNull.Value));

            Assert.AreEqual(true, attribute.IsValid(1));
            Assert.AreEqual(true, attribute.IsValid(1.0));
            Assert.AreEqual(true, attribute.IsValid(0));
            Assert.AreEqual(true, attribute.IsValid(0.0));
            Assert.AreEqual(true, attribute.IsValid(0.0000000));
            Assert.AreEqual(false, attribute.IsValid(1.1));
            Assert.AreEqual(false, attribute.IsValid(1.11));
            Assert.AreEqual(false, attribute.IsValid(1.111));

            attribute = new MustBePreciseToDecimalPlacesAttribute(1);

            Assert.AreEqual(true, attribute.IsValid(1));
            Assert.AreEqual(true, attribute.IsValid(1.0));
            Assert.AreEqual(true, attribute.IsValid(1.1));
            Assert.AreEqual(false, attribute.IsValid(1.11));
            Assert.AreEqual(false, attribute.IsValid(1.111));

            attribute = new MustBePreciseToDecimalPlacesAttribute(2);

            Assert.AreEqual(true, attribute.IsValid(1));
            Assert.AreEqual(true, attribute.IsValid(1.0));
            Assert.AreEqual(true, attribute.IsValid(1.1));
            Assert.AreEqual(true, attribute.IsValid(1.11));

            attribute = new MustBePreciseToDecimalPlacesAttribute(3);

            Assert.AreEqual(true, attribute.IsValid(1));
            Assert.AreEqual(true, attribute.IsValid(1.0));
            Assert.AreEqual(true, attribute.IsValid(1.1));
            Assert.AreEqual(true, attribute.IsValid(1.11));
            Assert.AreEqual(true, attribute.IsValid(1.111));

            attribute = new MustBePreciseToDecimalPlacesAttribute(4);

            Assert.AreEqual(true, attribute.IsValid(1f));
            Assert.AreEqual(true, attribute.IsValid(1.0f));
            Assert.AreEqual(true, attribute.IsValid(1.1f));
            Assert.AreEqual(true, attribute.IsValid(1.1f));
            Assert.AreEqual(true, attribute.IsValid(1.111f));
            Assert.AreEqual(true, attribute.IsValid(1.1111f));

            attribute = new MustBePreciseToDecimalPlacesAttribute(4);

            Assert.AreEqual(true, attribute.IsValid(1m));
            Assert.AreEqual(true, attribute.IsValid(1.0m));
            Assert.AreEqual(true, attribute.IsValid(1.1m));
            Assert.AreEqual(true, attribute.IsValid(1.11m));
            Assert.AreEqual(true, attribute.IsValid(1.111m));
            Assert.AreEqual(true, attribute.IsValid(1.1111m));
        }
Exemple #2
0
        public void IsValidFail(object value)
        {
            var attribute = new MustBePreciseToDecimalPlacesAttribute(8);

            try
            {
                attribute.IsValid(value);

                Assert.Fail();
            }
            catch (ArgumentException ex)
            {
                Assert.AreEqual("Invalid value type.", ex.Message);
            }
        }