From 9df283248256dd880eb1ee5ecce533ad206a55d3 Mon Sep 17 00:00:00 2001 From: Dan Moseley Date: Thu, 27 Jan 2022 14:20:43 -0700 Subject: [PATCH] Fix BigInteger outerloop test failure --- .../src/System/Numerics/BigNumber.cs | 2 +- .../tests/BigInteger/parse.cs | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigNumber.cs b/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigNumber.cs index 79d11ebe76203e..984bde00e7cb27 100644 --- a/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigNumber.cs +++ b/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigNumber.cs @@ -317,7 +317,7 @@ internal static bool TryValidateParseStyleInteger(NumberStyles style, [NotNullWh { // Check for hex number if ((style & ~NumberStyles.HexNumber) != 0) { - e = new ArgumentException(SR.Argument_InvalidHexStyle); + e = new ArgumentException(SR.Argument_InvalidHexStyle, nameof(style)); return false; } } diff --git a/src/libraries/System.Runtime.Numerics/tests/BigInteger/parse.cs b/src/libraries/System.Runtime.Numerics/tests/BigInteger/parse.cs index 115a61366d093c..7f0f427e4e5e26 100644 --- a/src/libraries/System.Runtime.Numerics/tests/BigInteger/parse.cs +++ b/src/libraries/System.Runtime.Numerics/tests/BigInteger/parse.cs @@ -18,7 +18,7 @@ public class parseTest // Invariant culture is commonly used for (de-)serialization and similar to en-US // Ukrainian (Ukraine) added to catch regressions (https://github.com/dotnet/runtime/issues/14545) - // Current cultue to get additional value out of glob/loc test runs + // Current culture to get additional value out of glob/loc test runs public static IEnumerable Cultures { get @@ -66,11 +66,11 @@ public static void RunParseToStringTests(CultureInfo culture) //invalid number style // ******InvalidNumberStyles NumberStyles invalid = (NumberStyles)0x7c00; - AssertExtensions.Throws(null, () => + AssertExtensions.Throws("style", () => { BigInteger.Parse("1", invalid).ToString("d"); }); - AssertExtensions.Throws(null, () => + AssertExtensions.Throws("style", () => { BigInteger junk; BigInteger.TryParse("1", invalid, null, out junk); @@ -116,6 +116,16 @@ public void Parse_Hex32Bits() Assert.True(BigInteger.TryParse("080000001", NumberStyles.HexNumber, null, out result)); Assert.Equal(0x80000001u, result); + + Assert.Throws(() => + { + BigInteger.Parse("zzz", NumberStyles.HexNumber); + }); + + AssertExtensions.Throws("style", () => + { + BigInteger.Parse("1", NumberStyles.AllowHexSpecifier | NumberStyles.AllowCurrencySymbol); + }); } private static void RunFormatProviderParseStrings()