Skip to content

Commit c40d303

Browse files
authored
add boolean parsing variations (#2234)
* add boolean parsing variations * another * feedback * feedback:
1 parent c36c532 commit c40d303

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

src/benchmarks/micro/libraries/System.Buffers/Utf8ParserTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public IEnumerable<object> SByteValues
8585
public bool TryParseSByte(Utf8TestCase value) => Utf8Parser.TryParse(value.Utf8Bytes, out sbyte _, out int _);
8686

8787
public IEnumerable<object> BooleanValues
88-
=> Perf_Boolean.StringValues.OfType<string>().Select(formatted => new Utf8TestCase(formatted));
88+
=> Perf_Boolean.ValidStringValues.OfType<string>().Select(formatted => new Utf8TestCase(formatted));
8989

9090
[Benchmark]
9191
[ArgumentsSource(nameof(BooleanValues))]

src/benchmarks/micro/libraries/System.Runtime/Perf.Boolean.cs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,30 @@ namespace System.Tests
1212
[BenchmarkCategory(Categories.Libraries)]
1313
public class Perf_Boolean
1414
{
15-
public static IEnumerable<object> StringValues => Values.Select(value => value.ToString()).ToArray();
16-
15+
public static IEnumerable<object> ValidStringValues => new string[]{
16+
"true",
17+
"false",
18+
"TRUE",
19+
"False",
20+
" True "
21+
};
22+
public static IEnumerable<object> ValidAndInvalidStringValues => ValidStringValues.Concat(new string[]
23+
{
24+
"0",
25+
"Bogus"
26+
});
1727
public static IEnumerable<object> Values => new object[]
1828
{
1929
true,
2030
false
2131
};
2232

2333
[Benchmark]
24-
[ArgumentsSource(nameof(StringValues))]
34+
[ArgumentsSource(nameof(ValidStringValues))]
2535
public bool Parse(string value) => bool.Parse(value);
2636

2737
[Benchmark]
28-
[ArgumentsSource(nameof(StringValues))]
38+
[ArgumentsSource(nameof(ValidAndInvalidStringValues))]
2939
public bool TryParse(string value) => bool.TryParse(value, out _);
3040

3141
[Benchmark]

0 commit comments

Comments
 (0)