@@ -663,6 +663,46 @@ public static IEnumerable<object[]> Parse_Invalid_TestData()
663
663
yield return new object [ ] { "2147483649-" , NumberStyles . AllowTrailingSign , null , typeof ( OverflowException ) } ;
664
664
yield return new object [ ] { "(2147483649)" , NumberStyles . AllowParentheses , null , typeof ( OverflowException ) } ;
665
665
yield return new object [ ] { "2E10" , NumberStyles . AllowExponent , null , typeof ( OverflowException ) } ;
666
+
667
+ // Test trailing non zeros
668
+
669
+ yield return new object [ ] { "-9223372036854775808.1" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
670
+ yield return new object [ ] { "-2147483648.1" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
671
+ yield return new object [ ] { "-32768.1" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
672
+ yield return new object [ ] { "-128.1" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
673
+ yield return new object [ ] { "127.1" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
674
+ yield return new object [ ] { "255.1" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
675
+ yield return new object [ ] { "32767.1" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
676
+ yield return new object [ ] { "65535.1" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
677
+ yield return new object [ ] { "2147483647.1" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
678
+ yield return new object [ ] { "4294967295.1" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
679
+ yield return new object [ ] { "9223372036854775807.1" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
680
+ yield return new object [ ] { "18446744073709551615.1" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
681
+
682
+ yield return new object [ ] { "-9223372036854775808.001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
683
+ yield return new object [ ] { "-2147483648.001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
684
+ yield return new object [ ] { "-32768.001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
685
+ yield return new object [ ] { "-128.001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
686
+ yield return new object [ ] { "127.001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
687
+ yield return new object [ ] { "255.001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
688
+ yield return new object [ ] { "32767.001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
689
+ yield return new object [ ] { "65535.001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
690
+ yield return new object [ ] { "2147483647.001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
691
+ yield return new object [ ] { "4294967295.001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
692
+ yield return new object [ ] { "9223372036854775807.001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
693
+ yield return new object [ ] { "18446744073709551615.001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
694
+
695
+ yield return new object [ ] { "3.001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
696
+ yield return new object [ ] { "3.000000001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
697
+ yield return new object [ ] { "3.0000000001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
698
+ yield return new object [ ] { "3.00000000001" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
699
+
700
+ yield return new object [ ] { "3.100" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
701
+ yield return new object [ ] { "3.100000000" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
702
+ yield return new object [ ] { "3.1000000000" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
703
+ yield return new object [ ] { "3.10000000000" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
704
+
705
+ yield return new object [ ] { "2147483646.1" , NumberStyles . Number , CultureInfo . InvariantCulture , typeof ( OverflowException ) } ;
666
706
}
667
707
668
708
[ Theory ]
0 commit comments