コード例 #1
0
        public void ApplyTransform_StringField_ExceptionIsThrown()
        {
            var record = new MockRecord()
            {
                StringField = "10"
            };
            var amount            = 2d;
            var property          = typeof(MockRecord).GetProperty(nameof(MockRecord.StringField));
            var divideByAttribute = new DivideByAttribute(amount);

            divideByAttribute.ApplyTransform(property, record);
        }
コード例 #2
0
        public void ApplyTransform_DecimalFieldWithDivideByZero_ExceptionIsThrown()
        {
            var record = new MockRecord()
            {
                DecimalField = 10m
            };
            var amount            = 0d;
            var property          = typeof(MockRecord).GetProperty(nameof(MockRecord.DecimalField));
            var divideByAttribute = new DivideByAttribute(amount);

            divideByAttribute.ApplyTransform(property, record);
        }
コード例 #3
0
        public void ApplyTransform_FloatFieldWithAboveZeroValue_DivideByTransformApplied()
        {
            var record = new MockRecord()
            {
                FloatField = 10f
            };
            var amount            = 2d;
            var property          = typeof(MockRecord).GetProperty(nameof(MockRecord.FloatField));
            var divideByAttribute = new DivideByAttribute(amount);

            divideByAttribute.ApplyTransform(property, record);

            Assert.AreEqual(5f, record.FloatField);
        }
コード例 #4
0
        public void ApplyTransform_NullableDoubleFieldWithNullValue_NullValueIsReturned()
        {
            var record = new MockRecord()
            {
                NullableDoubleField = null
            };
            var amount            = 2d;
            var property          = typeof(MockRecord).GetProperty(nameof(MockRecord.NullableDoubleField));
            var divideByAttribute = new DivideByAttribute(amount);

            divideByAttribute.ApplyTransform(property, record);

            Assert.IsNull(record.NullableDoubleField);
        }
コード例 #5
0
        public void ApplyTransform_DoubleFieldWithZeroValue_DivideByTransformApplied()
        {
            var record = new MockRecord()
            {
                DoubleField = 0d
            };
            var amount            = 10d;
            var property          = typeof(MockRecord).GetProperty(nameof(MockRecord.DoubleField));
            var divideByAttribute = new DivideByAttribute(amount);

            divideByAttribute.ApplyTransform(property, record);

            Assert.AreEqual(0d, record.DoubleField);
        }
コード例 #6
0
        public void ApplyTransform_DoubleFieldWithDivideByZero_InfinityIsSet()
        {
            var record = new MockRecord()
            {
                DoubleField = 10d
            };
            var amount            = 0d;
            var property          = typeof(MockRecord).GetProperty(nameof(MockRecord.DoubleField));
            var divideByAttribute = new DivideByAttribute(amount);

            divideByAttribute.ApplyTransform(property, record);

            Assert.AreEqual(Double.PositiveInfinity, record.DoubleField);
        }
コード例 #7
0
        public void ApplyTransform_IntFieldWithFractionalDivideBy_DivideByTransformApplied()
        {
            var record = new MockRecord()
            {
                IntField = 10
            };
            var amount            = 2.5d;
            var property          = typeof(MockRecord).GetProperty(nameof(MockRecord.IntField));
            var divideByAttribute = new DivideByAttribute(amount);

            divideByAttribute.ApplyTransform(property, record);

            Assert.AreEqual(4, record.IntField);
        }