private DecimalPropertyConfiguration(DecimalPropertyConfiguration source)
            : base(source)
        {
            DebugCheck.NotNull(source);

            Precision = source.Precision;
            Scale = source.Scale;
        }
        private DecimalPropertyConfiguration(DecimalPropertyConfiguration source)
            : base(source)
        {
            Contract.Requires(source != null);

            Precision = source.Precision;
            Scale = source.Scale;
        }
示例#3
0
        private DecimalPropertyConfiguration(DecimalPropertyConfiguration source)
            : base(source)
        {
            DebugCheck.NotNull(source);

            Precision = source.Precision;
            Scale     = source.Scale;
        }
示例#4
0
        public void HasMaxLength_throws_when_not_length()
        {
            var innerConfig = new Properties.Primitive.DecimalPropertyConfiguration();
            var config      = new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            Assert.Equal(
                Strings.LightweightPrimitivePropertyConfiguration_NonLength("P"),
                Assert.Throws <InvalidOperationException>(() => config.HasMaxLength(256)).Message);
        }
        public void HasPrecision_throws_when_Decimal()
        {
            var innerConfig = new Properties.Primitive.DecimalPropertyConfiguration();
            var config      = new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            Assert.Equal(
                Strings.LightweightPrimitivePropertyConfiguration_DecimalNoScale("P"),
                Assert.Throws <InvalidOperationException>(() => config.HasPrecision(8)).Message);
        }
示例#6
0
        public void HasPrecision_with_scale_configures_when_unset()
        {
            var innerConfig = new DecimalPropertyConfiguration();
            var config      = new LightweightPropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            var result = config.HasPrecision(8, 2);

            Assert.Equal <byte?>(8, innerConfig.Precision);
            Assert.Equal <byte?>(2, innerConfig.Scale);
            Assert.Same(config, result);
        }
示例#7
0
        internal override void CopyFrom(PrimitivePropertyConfiguration other)
        {
            base.CopyFrom(other);
            DecimalPropertyConfiguration propertyConfiguration = other as DecimalPropertyConfiguration;

            if (propertyConfiguration == null)
            {
                return;
            }
            this.Precision = propertyConfiguration.Precision;
            this.Scale     = propertyConfiguration.Scale;
        }
        public void Cloning_a_decimal_property_configuration_clones_its_property_information()
        {
            var configuration = new DecimalPropertyConfiguration();

            configuration.Precision = 100;
            configuration.Scale     = 101;

            var clone = (DecimalPropertyConfiguration)
                        Cloning_a_primitive_property_configuration_clones_its_property_information_implementation(configuration);

            Assert.Equal(100, clone.Precision.Value);
            Assert.Equal(101, clone.Scale.Value);
        }
示例#9
0
        public void HasPrecision_with_scale_is_noop_when_scale_set()
        {
            var innerConfig = new DecimalPropertyConfiguration
            {
                Scale = 2
            };
            var config = new LightweightPropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            var result = config.HasPrecision(7, 1);

            Assert.Null(innerConfig.Precision);
            Assert.Equal <byte?>(2, innerConfig.Scale);
            Assert.Same(config, result);
        }
        public void HasPrecision_with_scale_is_noop_when_precision_set()
        {
            var innerConfig = new Properties.Primitive.DecimalPropertyConfiguration
            {
                Precision = 8
            };
            var config = new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            var result = config.HasPrecision(7, 1);

            Assert.Equal <byte?>(8, innerConfig.Precision);
            Assert.Null(innerConfig.Scale);
            Assert.Same(config, result);
        }
示例#11
0
        internal override void MakeCompatibleWith(PrimitivePropertyConfiguration other, bool inCSpace)
        {
            base.MakeCompatibleWith(other, inCSpace);
            DecimalPropertyConfiguration propertyConfiguration = other as DecimalPropertyConfiguration;

            if (propertyConfiguration == null)
            {
                return;
            }
            byte?precision = propertyConfiguration.Precision;

            if ((precision.HasValue ? new int?((int)precision.GetValueOrDefault()) : new int?()).HasValue)
            {
                this.Precision = new byte?();
            }
            byte?scale = propertyConfiguration.Scale;

            if (!(scale.HasValue ? new int?((int)scale.GetValueOrDefault()) : new int?()).HasValue)
            {
                return;
            }
            this.Scale = new byte?();
        }
示例#12
0
        internal override bool IsCompatible(
            PrimitivePropertyConfiguration other,
            bool inCSpace,
            out string errorMessage)
        {
            DecimalPropertyConfiguration other1 = other as DecimalPropertyConfiguration;
            bool flag1 = base.IsCompatible(other, inCSpace, out errorMessage);
            int  num1;

            if (other1 != null)
            {
                num1 = this.IsCompatible <byte, DecimalPropertyConfiguration>((Expression <Func <DecimalPropertyConfiguration, byte?> >)(c => c.Precision), other1, ref errorMessage) ? 1 : 0;
            }
            else
            {
                num1 = 1;
            }
            bool flag2 = num1 != 0;
            int  num2;

            if (other1 != null)
            {
                num2 = this.IsCompatible <byte, DecimalPropertyConfiguration>((Expression <Func <DecimalPropertyConfiguration, byte?> >)(c => c.Scale), other1, ref errorMessage) ? 1 : 0;
            }
            else
            {
                num2 = 1;
            }
            bool flag3 = num2 != 0;

            if (flag1 && flag2)
            {
                return(flag3);
            }
            return(false);
        }
示例#13
0
 internal DecimalPropertyConfiguration(Properties.Primitive.DecimalPropertyConfiguration configuration)
     : base(configuration)
 {
 }
        public void HasPrecision_with_scale_is_noop_when_scale_set()
        {
            var innerConfig = new Properties.Primitive.DecimalPropertyConfiguration
                {
                    Scale = 2
                };
            var config = new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            var result = config.HasPrecision(7, 1);

            Assert.Null(innerConfig.Precision);
            Assert.Equal<byte?>(2, innerConfig.Scale);
            Assert.Same(config, result);
        }
        public void HasPrecision_with_scale_configures_when_unset()
        {
            var innerConfig = new Properties.Primitive.DecimalPropertyConfiguration();
            var config = new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            var result = config.HasPrecision(8, 2);

            Assert.Equal<byte?>(8, innerConfig.Precision);
            Assert.Equal<byte?>(2, innerConfig.Scale);
            Assert.Same(config, result);
        }
        public void HasPrecision_throws_when_Decimal()
        {
            var innerConfig = new Properties.Primitive.DecimalPropertyConfiguration();
            var config = new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            Assert.Equal(
                Strings.LightweightPrimitivePropertyConfiguration_DecimalNoScale("P"),
                Assert.Throws<InvalidOperationException>(() => config.HasPrecision(8)).Message);
        }
        public void HasPrecision_with_scale_is_noop_when_precision_set()
        {
            var innerConfig = new DecimalPropertyConfiguration
                                  {
                                      Precision = 8
                                  };
            var config = new LightweightPropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            var result = config.HasPrecision(7, 1);

            Assert.Equal<byte?>(8, innerConfig.Precision);
            Assert.Null(innerConfig.Scale);
            Assert.Same(config, result);
        }
示例#18
0
 private DecimalPropertyConfiguration(DecimalPropertyConfiguration source)
     : base((PrimitivePropertyConfiguration)source)
 {
     this.Precision = source.Precision;
     this.Scale     = source.Scale;
 }