Example #1
0
        public void WithLowLevelConverter_GivenDoubleType_ThenValidStringsCanBeConvertedToNumber()
        {
            var doubleDescriptor = new ValueDescriptor();

            Assert.Equal(1.0, ValueConversions.ToNumber(doubleDescriptor, CultureInfo.InvariantCulture, "1.0"));
            Assert.Equal(1.0, ValueConversions.ToNumber(doubleDescriptor, CultureInfo.InvariantCulture, "1e0"));
        }
Example #2
0
        public void WithLowLevelConverter_GivenDoubleType_ThenAnyFloatingPointOrIntegerCanBeConvertedToNumber()
        {
            var doubleDescriptor = new ValueDescriptor();

            Assert.Equal(1.0, ValueConversions.ToNumber(doubleDescriptor, CultureInfo.InvariantCulture, 1.0));
            Assert.Equal(1.0, ValueConversions.ToNumber(doubleDescriptor, CultureInfo.InvariantCulture, 1.0f));
            Assert.Equal(1.0, ValueConversions.ToNumber(doubleDescriptor, CultureInfo.InvariantCulture, 1));
        }
Example #3
0
        public void WithLowLevelConverter_GivenStringType_CannotConvertAnyValueToNumber()
        {
            var stringDescriptor = new ValueDescriptor {
                Type = TypeOfValue.String
            };

            // Note that if fails even if string is a valid number!
            Assert.Equal(null, ValueConversions.ToNumber(stringDescriptor, CultureInfo.InvariantCulture, "test"));
            Assert.Equal(null, ValueConversions.ToNumber(stringDescriptor, CultureInfo.InvariantCulture, "1.0"));
        }
Example #4
0
        public void WithLowLevelConverter_GivenBooleanType_ThenAnyValueCanBeConvertedToBoolean()
        {
            var boolDescriptor = new ValueDescriptor {
                Type = TypeOfValue.Boolean
            };

            Assert.Equal(1.0, ValueConversions.ToNumber(boolDescriptor, CultureInfo.InvariantCulture, 10));
            Assert.Equal(0.0, ValueConversions.ToNumber(boolDescriptor, CultureInfo.InvariantCulture, 0));
            Assert.Equal(0.0, ValueConversions.ToNumber(boolDescriptor, CultureInfo.InvariantCulture, null));
            Assert.Equal(1.0, ValueConversions.ToNumber(boolDescriptor, CultureInfo.InvariantCulture, true));
            Assert.Equal(0.0, ValueConversions.ToNumber(boolDescriptor, CultureInfo.InvariantCulture, false));
            Assert.Equal(1.0, ValueConversions.ToNumber(boolDescriptor, CultureInfo.InvariantCulture, "true"));
            Assert.Equal(1.0, ValueConversions.ToNumber(boolDescriptor, CultureInfo.InvariantCulture, "10"));
        }
Example #5
0
 public void WithLowLevelConverter_GivenDoubleType_ThenNullIsNull()
 {
     Assert.Equal(null, ValueConversions.ToNumber(new ValueDescriptor(), CultureInfo.InvariantCulture, null));
 }
Example #6
0
 public void WithLowLevelConverter_GivenDoubleType_ImplicitConversionFromBooleanIsNotAllowed()
 {
     Assert.Throws <InvalidCastException>(() => ValueConversions.ToNumber(new ValueDescriptor(), CultureInfo.InvariantCulture, true));
 }