-
Notifications
You must be signed in to change notification settings - Fork 4.8k
/
NumberFormatInfoValidateParseStyle.cs
44 lines (41 loc) · 1.55 KB
/
NumberFormatInfoValidateParseStyle.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using Xunit;
namespace System.Globalization.Tests
{
public class NumberFormatInfoValidateParseStyle
{
[Theory]
[InlineData(unchecked((NumberStyles)0xFFFFFC00), false, "style")]
[InlineData(NumberStyles.HexNumber | NumberStyles.Integer, false, null)]
[InlineData(NumberStyles.AllowHexSpecifier, true, null)]
[InlineData(NumberStyles.None, true, null)]
public void ValidateParseStyle_Integer(NumberStyles style, bool valid, string paramName)
{
if (!valid)
{
AssertExtensions.Throws<ArgumentException>(paramName, () => byte.Parse("0", style));
}
else
{
byte.Parse("0", style); // Should not throw
}
}
[Theory]
[InlineData(unchecked((NumberStyles)0xFFFFFC00), false, "style")]
[InlineData(NumberStyles.HexNumber | NumberStyles.Integer, false, null)]
[InlineData(NumberStyles.AllowHexSpecifier, false, null)]
[InlineData(NumberStyles.None, true, null)]
public void ValidateParseStyle_Float(NumberStyles style, bool valid, string paramName)
{
if (!valid)
{
AssertExtensions.Throws<ArgumentException>(paramName, () => float.Parse("0", style));
}
else
{
float.Parse("0", style); // Should not throw
}
}
}
}