public void NonEmptyInputForNullableReturnsUnderlyingValue_Enum()
 {
     foreach (Converter c in _All)
     {
         foreach (object lInput in ConvertTestData.Int49Inputs)
         {
             ConvertAssert.Equal(TestShortEnum.FortyNine, c.To <TestShortEnum?>(lInput));
         }
     }
 }
 public void NonEmptyInputForNullableReturnsUnderlyingValue_Int()
 {
     foreach (Converter c in _All)
     {
         foreach (object lInput in ConvertTestData.Int49Inputs)
         {
             ConvertAssert.Equal(49, c.To <int?>(lInput));
         }
     }
 }
Example #3
0
        public void Invalid_IgnoreErrorsReturnsDefuault()
        {
            object lInput = new System.Random();

            // Int, no explicit default
            ConvertAssert.Equal(0, fnTo(string.Empty, typeof(int), ConvertOptions.None, true, null));
            ConvertAssert.Equal(0, fnTo(lInput, typeof(int), ConvertOptions.None, true, null));

            // Int, explicit default
            ConvertAssert.Equal(42, fnTo(string.Empty, typeof(int), ConvertOptions.None, true, 42));
            ConvertAssert.Equal(42, fnTo(lInput, typeof(int), ConvertOptions.None, true, 42));

            // Enum, no explicit default
            ConvertAssert.Equal((TestShortEnum)0, fnTo(string.Empty, typeof(TestShortEnum), ConvertOptions.None, true, null));
            ConvertAssert.Equal((TestShortEnum)0, fnTo(lInput, typeof(TestShortEnum), ConvertOptions.None, true, null));

            // Enum, explicit default
            ConvertAssert.Equal(TestShortEnum.One, fnTo(string.Empty, typeof(TestShortEnum), ConvertOptions.None, true, TestShortEnum.One));
            ConvertAssert.Equal(TestShortEnum.One, fnTo(lInput, typeof(TestShortEnum), ConvertOptions.None, true, TestShortEnum.One));
        }
        public void NullToValueDefault()
        {
            foreach (object input in new object[] { null, DBNull.Value, string.Empty })
            {
                // Int, no explicit default
                // Allowed for relaxed
                ConvertAssert.Equal(0, _Relaxed.ToInt(input));

                // Not allowed for other converters
                foreach (Converter c in new[] { _Strict, _Default, _DefaultPlusHex })
                {
                    Action fn = () => c.ToInt(input);
                    if (c == _Strict && object.Equals(input, string.Empty))
                    {
                        Assert.Throws <InvalidCastException>(fn);
                    }
                    else
                    {
                        Assert.Throws <ArgumentNullException>(fn);
                    }
                }

                // Enum, no explicit default
                // Allowed for relaxed
                ConvertAssert.Equal((TestShortEnum)0, _Relaxed.To <TestShortEnum>(input));

                // Not allowed for other converters
                foreach (Converter c in new[] { _Strict, _Default, _DefaultPlusHex })
                {
                    Action fn = () => c.To <TestShortEnum>(input);
                    if (c == _Strict && object.Equals(input, string.Empty))
                    {
                        Assert.Throws <InvalidCastException>(fn);
                    }
                    else
                    {
                        Assert.Throws <ArgumentNullException>(fn);
                    }
                }
            }
        }
        public void Force_IgnoreError()
        {
            foreach (object input in new object[] { null, DBNull.Value, string.Empty })
            {
                // Int, no explicit default
                foreach (Converter c in _All)
                {
                    // Int, no explicit default
                    ConvertAssert.Equal(0, c.Force <int>(input));

                    // Int, explicit default
                    ConvertAssert.Equal(42, c.Force <int>(input, 42));

                    // Enum, no explicit default
                    ConvertAssert.Equal((TestShortEnum)0, c.Force <TestShortEnum>(input));

                    // Enum, explicit default
                    ConvertAssert.Equal(TestShortEnum.One, c.Force <TestShortEnum>(input, TestShortEnum.One));
                }
            }
        }
Example #6
0
        public void NullToValueDefault()
        {
            // Int, no explicit default
            ConvertAssert.Equal(0, fnTo(null, typeof(int), ConvertOptions.NullToValueDefault, false, null));
            ConvertAssert.Equal(0, fnTo(DBNull.Value, typeof(int), ConvertOptions.NullToValueDefault, false, null));
            ConvertAssert.Equal(0, fnTo(string.Empty, typeof(int), ConvertOptions.NullToValueDefault | ConvertOptions.EmptyStringAsNull, false, null));

            // Int, explicit default
            ConvertAssert.Equal(42, fnTo(null, typeof(int), ConvertOptions.NullToValueDefault, false, 42));
            ConvertAssert.Equal(42, fnTo(DBNull.Value, typeof(int), ConvertOptions.NullToValueDefault, false, 42));
            ConvertAssert.Equal(42, fnTo(string.Empty, typeof(int), ConvertOptions.NullToValueDefault | ConvertOptions.EmptyStringAsNull, false, 42));

            // Enum, no explicit default
            ConvertAssert.Equal((TestShortEnum)0, fnTo(null, typeof(TestShortEnum), ConvertOptions.NullToValueDefault, false, null));
            ConvertAssert.Equal((TestShortEnum)0, fnTo(DBNull.Value, typeof(TestShortEnum), ConvertOptions.NullToValueDefault, false, null));
            ConvertAssert.Equal((TestShortEnum)0, fnTo(string.Empty, typeof(TestShortEnum), ConvertOptions.NullToValueDefault | ConvertOptions.EmptyStringAsNull, false, null));

            // Enum, explicit default
            ConvertAssert.Equal(TestShortEnum.One, fnTo(null, typeof(TestShortEnum), ConvertOptions.NullToValueDefault, false, TestShortEnum.One));
            ConvertAssert.Equal(TestShortEnum.One, fnTo(DBNull.Value, typeof(TestShortEnum), ConvertOptions.NullToValueDefault, false, TestShortEnum.One));
            ConvertAssert.Equal(TestShortEnum.One, fnTo(string.Empty, typeof(TestShortEnum), ConvertOptions.NullToValueDefault | ConvertOptions.EmptyStringAsNull, false, TestShortEnum.One));
        }
 public void TimestringToTimespan(object input, TimeSpan expected)
 {
     ConvertAssert.Equal(expected, Convert.ToTimeSpan(input));
 }
        public void TicksToTimespan(object input)
        {
            long lngVal = Convert.To <long>(input);

            ConvertAssert.Equal(TimeSpan.FromTicks(lngVal), Convert.ToTimeSpan(input));
        }
        public void DecimalSecondsToTimespan(object input)
        {
            double dblVal = Convert.To <double>(input);

            ConvertAssert.Equal(TimeSpan.FromSeconds(dblVal), Convert.ToTimeSpan(input));
        }
 public void PreserveTimestamp(TimeSpan input)
 {
     ConvertAssert.Equal(input, Convert.ToTimeSpan(input));
 }
 public void BoolsPreserved(bool input)
 {
     ConvertAssert.Equal(input, Convert.ToBool(input));
 }
 public void ZeroToFalse(object input)
 {
     ConvertAssert.Equal(false, Convert.ToBool(input));
 }
 public void NonZeroToTrue(int input)
 {
     ConvertAssert.Equal(true, Convert.ToBool(input));
 }
 public void StringToFalse(string input)
 {
     ConvertAssert.Equal(false, Convert.ToBool(input));
 }
 public void StringToTrue(string input)
 {
     ConvertAssert.Equal(true, Convert.ToBool(input));
 }