public void When_converting_a_string_with_leading_spaces_to_short()
 {
     foreach (var culture in allCultures)
     {
         NumericConversionsSpecs.When_converting_a_string_representing_a_number_to <short>("  1", 1, culture);
     }
 }
 public void When_converting_a_string_representing_a_positive_integer_to_short()
 {
     foreach (var culture in allCultures)
     {
         NumericConversionsSpecs.When_converting_a_string_representing_a_number_to <short>("1", 1, culture);
     }
 }
        public void When_converting_a_table_row_column_to_int()
        {
            var table = new DataTable();

            table.Columns.AddRange(new DataColumn[]
            {
                new DataColumn("Col_Int", typeof(System.Int32)),
                new DataColumn("Col_Bool", typeof(System.Boolean)),
                new DataColumn("Col_Float", typeof(System.Boolean))
            });

            // 1
            table.Rows.Add(1, true, 1F);

            foreach (var culture in allCultures)
            {
                // integer
                NumericConversionsSpecs.When_converting_an_object_without_default_fallback_to <int>(table.Rows[0]["Col_Int"], 1, culture);
                NumericConversionsSpecs.When_converting_an_object_without_default_fallback_to <int>(table.Rows[0]["Col_Int"], 1, culture, -1);

                // bool
                NumericConversionsSpecs.When_converting_an_object_without_default_fallback_to <int>(table.Rows[0]["Col_Bool"], 1, culture);
                NumericConversionsSpecs.When_converting_an_object_without_default_fallback_to <int>(table.Rows[0]["Col_Bool"], 1, culture, -1);
            }
        }
 public void When_converting_a_string_with_leading_tabs_to_long()
 {
     foreach (var culture in allCultures)
     {
         NumericConversionsSpecs.When_converting_a_string_representing_a_number_to <long>("		1", 1, culture);
     }
 }
 public void When_converting_a_string_representing_a_negative_integer_to_long()
 {
     foreach (var culture in allCultures)
     {
         NumericConversionsSpecs.When_converting_a_string_representing_a_number_to <long>("-1", -1, culture);
     }
 }
        public void When_converting_a_string_with_trailing_newlines_to_numeric()
        {
            string   posStringVal;
            TNumeric posNumericVal;

            this.String_representing_a_positive_numeric_value_setup(out posStringVal, out posNumericVal);
            string trailingNewlinesPosStringVal = posStringVal + @"


				"                ;

            string   negStringVal;
            TNumeric negNumericVal;

            this.String_representing_a_negative_numeric_value_setup(out negStringVal, out negNumericVal);
            string trailingNewlinesNegStringVal = negStringVal + @"

			
			
			"            ;

            foreach (var culture in allCultures)
            {
                NumericConversionsSpecs.When_converting_a_string_representing_a_number_to <TNumeric>(trailingNewlinesPosStringVal, posNumericVal, culture);
                NumericConversionsSpecs.When_converting_a_string_representing_a_number_to <TNumeric>(trailingNewlinesNegStringVal, negNumericVal, culture);
            }
        }
 public void When_converting_an_empty_string_to_long()
 {
     foreach (var culture in allCultures)
     {
         NumericConversionsSpecs.When_converting_an_empty_string_to <long>(culture);
         NumericConversionsSpecs.When_converting_an_empty_string_to <long>(culture, -1);
     }
 }
 public void When_converting_a_false_boolean_to_int()
 {
     foreach (var culture in allCultures)
     {
         NumericConversionsSpecs.When_converting_a_boolean_to <int>(false, 0, culture);
         NumericConversionsSpecs.When_converting_a_boolean_to <int>(false, 0, culture, -1);
     }
 }
 public void When_converting_null_to_numeric()
 {
     foreach (var culture in allCultures)
     {
         NumericConversionsSpecs.When_converting_null_to <TNumeric>(culture);
         NumericConversionsSpecs.When_converting_null_to <TNumeric>(culture, this.ChangedNumericDefault());
     }
 }
 public void When_converting_a_decimal_min_value_to_int()
 {
     foreach (var culture in allCultures)
     {
         NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <TNumeric, OverflowException>(decimal.MinValue, culture);
         NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <TNumeric, OverflowException>(decimal.MinValue, culture, this.ChangedNumericDefault());
     }
 }
 public void When_converting_a_NaN_double_value_to_numeric()
 {
     foreach (var culture in allCultures)
     {
         NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <TNumeric, InvalidCastException>(double.NaN, culture);
         NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <TNumeric, InvalidCastException>(double.NaN, culture, this.ChangedNumericDefault());
     }
 }
 public void When_converting_a_negative_infinity_double_value_to_numeric()
 {
     foreach (var culture in allCultures)
     {
         NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <TNumeric, OverflowException>(double.NegativeInfinity, culture);
         NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <TNumeric, OverflowException>(double.NegativeInfinity, culture, this.ChangedNumericDefault());
     }
 }
 public void When_converting_DBNull_to_short()
 {
     foreach (var culture in allCultures)
     {
         NumericConversionsSpecs.When_converting_DBNull_to <short>(culture);
         NumericConversionsSpecs.When_converting_DBNull_to <short>(culture, -1);
     }
 }
        public void When_converting_a_string_with_trailing_spaces_to_long()
        {
            var value = "1  ";

            foreach (var culture in allCultures)
            {
                NumericConversionsSpecs.When_converting_a_string_representing_a_number_to <long>(value, 1, culture);
            }
        }
 public void When_converting_a_non_numeric_string_to_long()
 {
     foreach (var culture in allCultures)
     {
         var value = "test";
         NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <long, FormatException>(value, culture);
         NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <long, FormatException>(value, culture, -1);
     }
 }
        public void When_converting_a_string_with_group_separators_to_long()
        {
            foreach (var culture in allCultures)
            {
                var value = 123456.ToString("N0", culture);

                NumericConversionsSpecs.When_converting_a_string_representing_a_number_to <long>(value, 123456, culture);
            }
        }
        public void When_converting_a_string_with_sign_and_group_separators_and_decimal_separator_to_long()
        {
            foreach (var culture in allCultures)
            {
                var value = (-123456).ToString("N2", culture);

                NumericConversionsSpecs.When_converting_a_string_representing_a_number_to <long>(value, -123456, culture);
            }
        }
        public void When_converting_a_string_with_group_separators_and_decimal_separator_to_short()
        {
            foreach (var culture in allCultures)
            {
                var value = 1234.ToString("N2", culture);

                NumericConversionsSpecs.When_converting_a_string_representing_a_number_to <short>(value, 1234, culture);
            }
        }
        public void When_converting_a_nullable_null_boolean_to_numeric()
        {
            bool?nullBoolean = null;

            foreach (var culture in allCultures)
            {
                NumericConversionsSpecs.When_converting_a_nullable_boolean_to <TNumeric>(nullBoolean, default(TNumeric), culture);
                NumericConversionsSpecs.When_converting_a_nullable_boolean_to <TNumeric>(nullBoolean, this.ChangedNumericDefault(), culture, this.ChangedNumericDefault());
            }
        }
        public void When_converting_a_nullable_null_boolean_to_int()
        {
            bool?value = null;

            foreach (var culture in allCultures)
            {
                NumericConversionsSpecs.When_converting_a_nullable_boolean_to <int>(value, 0, culture);
                NumericConversionsSpecs.When_converting_a_nullable_boolean_to <int>(value, -1, culture, -1);
            }
        }
        public void When_converting_to_int_from_a_type_which_has_explicit_conversion_operator()
        {
            var value = new ExplicitIntegerNumber(12);

            foreach (var culture in allCultures)
            {
                NumericConversionsSpecs.When_converting_an_object_without_default_fallback_to <int>(value, 12, culture);
                NumericConversionsSpecs.When_converting_an_object_without_default_fallback_to <int>(value, 12, culture, -1);
            }
        }
        public void When_converting_a_false_boolean_to_numeric()
        {
            var falseishValue = this.FalseishBooleanValue();

            foreach (var culture in allCultures)
            {
                NumericConversionsSpecs.When_converting_a_boolean_to <TNumeric>(false, falseishValue, culture);
                NumericConversionsSpecs.When_converting_a_boolean_to <TNumeric>(false, falseishValue, culture, this.ChangedNumericDefault());
            }
        }
        public void When_converting_a_decimal_value_with_decimal_part_exactly_to_half_up_truncate_expected()
        {
            var decimalValue = 3.5M;

            foreach (var culture in allCultures)
            {
                // integer
                NumericConversionsSpecs.When_converting_an_object_without_default_fallback_to <int>(decimalValue, 3, culture);
                NumericConversionsSpecs.When_converting_an_object_without_default_fallback_to <int>(decimalValue, 3, culture, -1);
            }
        }
        public void When_converting_a_positive_infinity_float_value_to_int()
        {
            var floatValue = float.PositiveInfinity;

            foreach (var culture in allCultures)
            {
                // integer
                NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <int, OverflowException>(floatValue, culture);
                NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <int, OverflowException>(floatValue, culture, -1);
            }
        }
        public void When_converting_a_string_with_leading_newlines_to_short()
        {
            var value = @"
			
			1"            ;

            foreach (var culture in allCultures)
            {
                NumericConversionsSpecs.When_converting_a_string_representing_a_number_to <short>(value, 1, culture);
            }
        }
        public void When_converting_a_double_value_with_decimal_part_less_than_half_truncate_expected()
        {
            var doubleValue = 3.25D;

            foreach (var culture in allCultures)
            {
                // integer
                NumericConversionsSpecs.When_converting_an_object_without_default_fallback_to <int>(doubleValue, 3, culture);
                NumericConversionsSpecs.When_converting_an_object_without_default_fallback_to <int>(doubleValue, 3, culture, -1);
            }
        }
        public void When_converting_a_negative_infinity_double_value_to_int()
        {
            var doubleValue = double.NegativeInfinity;

            foreach (var culture in allCultures)
            {
                // integer
                NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <int, OverflowException>(doubleValue, culture);
                NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <int, OverflowException>(doubleValue, culture, -1);
            }
        }
        public void When_converting_a_NaN_double_value_to_int()
        {
            var doubleValue = double.NaN;

            foreach (var culture in allCultures)
            {
                // integer
                NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <int, InvalidCastException>(doubleValue, culture);
                NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <int, InvalidCastException>(doubleValue, culture, -1);
            }
        }
        public void When_converting_a_decimal_min_value_to_int()
        {
            var decimalValue = decimal.MinValue;

            foreach (var culture in allCultures)
            {
                // integer
                NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <int, OverflowException>(decimalValue, culture);
                NumericConversionsSpecs.When_converting_an_object_with_default_fallback_to <int, OverflowException>(decimalValue, culture, -1);
            }
        }
        public void When_converting_a_decimal_value_without_decimal_part_to_int()
        {
            var decimalValue = 3.0M;

            foreach (var culture in allCultures)
            {
                // integer
                NumericConversionsSpecs.When_converting_an_object_without_default_fallback_to <int>(decimalValue, 3, culture);
                NumericConversionsSpecs.When_converting_an_object_without_default_fallback_to <int>(decimalValue, 3, culture, -1);
            }
        }