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)); } } }
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)); } } }
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)); }