Skip to content

Commit 5807d85

Browse files
authored
Merge pull request #85 from pfpack/feature/split-text
Implement SplitToFlatArray methods
2 parents 736cdab + 65ad8bd commit 5807d85

33 files changed

Lines changed: 589 additions & 4 deletions

src/flatcollections-array/FlatArray.Tests/FlatArray.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<Nullable>enable</Nullable>
88
<InvariantGlobalization>true</InvariantGlobalization>
99
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
10-
<NoWarn>$(NoWarn);CA1861;IDE0130;xUnit1046</NoWarn>
10+
<NoWarn>$(NoWarn);CA1861;IDE0130;xUnit1044;xUnit1046</NoWarn>
1111
<IsPackable>false</IsPackable>
1212
<IsTestProject>true</IsTestProject>
1313
<Authors>Andrei Sergeev, Pavel Moskovoy</Authors>

src/flatcollections-array/FlatArray.Tests/Tests.FlatArrayExtensions/Test.AsFlatArray.cs renamed to src/flatcollections-array/FlatArray.Tests/Tests.FlatArrayExtensions/AsFlatArray/AsFlatArray.cs

File renamed without changes.
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
using System;
2+
using Xunit;
3+
4+
namespace PrimeFuncPack.Core.Tests;
5+
6+
using TestTheoryData = TheoryData<string?, char, int, StringSplitOptions, string[]?, int>;
7+
8+
partial class FlatArrayExtensionsTest
9+
{
10+
[Theory]
11+
[MemberData(nameof(SplitToFlatArray_WithCharSeparatorAndCount_ExpectCorrectState_Cases))]
12+
public void SplitToFlatArray_WithCharSeparatorAndCount_ExpectCorrectState(
13+
string? source, char separator, int count, StringSplitOptions options, string[]? expectedItems, int expectedLength)
14+
{
15+
var actual = source.SplitToFlatArray(separator, count, options);
16+
actual.VerifyInnerState(expectedItems, expectedLength);
17+
}
18+
19+
public static TestTheoryData SplitToFlatArray_WithCharSeparatorAndCount_ExpectCorrectState_Cases
20+
=>
21+
[
22+
new(null, 'a', 1, StringSplitOptions.None, null, default),
23+
new("a,b,c", ',', -5, StringSplitOptions.None, null, default),
24+
new("a,b,c", ',', -1, StringSplitOptions.RemoveEmptyEntries, null, default),
25+
new(string.Empty, ',', 1, StringSplitOptions.None, [string.Empty], 1),
26+
new(string.Empty, ',', 1, StringSplitOptions.RemoveEmptyEntries, null, default),
27+
new("a", ',', 1, StringSplitOptions.None, ["a"], 1),
28+
new("abc", ',', 1, StringSplitOptions.None, ["abc"], 1),
29+
new("a,b,c", ',', 1, StringSplitOptions.None, ["a,b,c"], 1),
30+
new("a,b,c", ',', 2, StringSplitOptions.None, ["a", "b,c"], 2),
31+
new("a,b,c", ',', 3, StringSplitOptions.None, ["a", "b", "c"], 3),
32+
new("a,b,c", ',', 10, StringSplitOptions.None, ["a", "b", "c"], 3),
33+
new("a,,c", ',', 2, StringSplitOptions.None, ["a", ",c"], 2),
34+
new("a,,c", ',', 3, StringSplitOptions.None, ["a", "", "c"], 3),
35+
new("a,,c", ',', 3, StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
36+
new(",,,", ',', 1, StringSplitOptions.None, [",,,"], 1),
37+
new(",,,", ',', 2, StringSplitOptions.None, ["", ",,"], 2),
38+
new(",,,", ',', 4, StringSplitOptions.None, ["", "", "", ""], 4),
39+
new(",,,", ',', 4, StringSplitOptions.RemoveEmptyEntries, null, default),
40+
new(",a,b,", ',', 2, StringSplitOptions.None, ["", "a,b,"], 2),
41+
new(",a,b,", ',', 4, StringSplitOptions.None, ["", "a", "b", ""], 4),
42+
new(",a,b,", ',', 4, StringSplitOptions.RemoveEmptyEntries, ["a", "b"], 2),
43+
new(" a , b , c ", ',', 3, StringSplitOptions.None, [" a ", " b ", " c "], 3),
44+
new(" a , b , c ", ',', 3, StringSplitOptions.TrimEntries, ["a", "b", "c"], 3),
45+
new(" a , , c ", ',', 3, StringSplitOptions.TrimEntries, ["a", "", "c"], 3),
46+
new(" a , , c ", ',', 3, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
47+
new("a|b|c", '|', 2, StringSplitOptions.None, ["a", "b|c"], 2),
48+
new("a|b|c", '|', 3, StringSplitOptions.None, ["a", "b", "c"], 3),
49+
new("a|b||c", '|', 4, StringSplitOptions.None, ["a", "b", "", "c"], 4),
50+
new("a|b||c", '|', 4, StringSplitOptions.RemoveEmptyEntries, ["a", "b", "c"], 3),
51+
new("|a|b|", '|', 2, StringSplitOptions.None, ["", "a|b|"], 2),
52+
new("|a|b|", '|', 4, StringSplitOptions.None, ["", "a", "b", ""], 4),
53+
new("|a|b|", '|', 4, StringSplitOptions.RemoveEmptyEntries, ["a", "b"], 2),
54+
new(" ", ' ', 1, StringSplitOptions.None, [" "], 1),
55+
new(" ", ' ', 2, StringSplitOptions.None, ["", " "], 2),
56+
new(" ", ' ', 4, StringSplitOptions.None, ["", "", "", ""], 4),
57+
new(" ", ' ', 4, StringSplitOptions.RemoveEmptyEntries, null, default),
58+
new(" ", ' ', 4, StringSplitOptions.TrimEntries, ["", "", "", ""], 4),
59+
new(" ", ' ', 4, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries, null, default),
60+
new("a b c", ' ', 2, StringSplitOptions.None, ["a", "b c"], 2),
61+
new("a b c", ' ', 3, StringSplitOptions.None, ["a", "b", "c"], 3),
62+
new("a b c", ' ', 4, StringSplitOptions.None, ["a", "b", "", "c"], 4),
63+
new("a b c", ' ', 4, StringSplitOptions.RemoveEmptyEntries, ["a", "b", "c"], 3),
64+
new(" a b c ", ' ', 5, StringSplitOptions.TrimEntries, ["", "a", "b", "c", ""], 5),
65+
new(" a b c ", ' ', 5, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries, ["a", "b", "c"], 3),
66+
new("a\tb\tc", '\t', 3, StringSplitOptions.None, ["a", "b", "c"], 3),
67+
new("a\t\tc", '\t', 3, StringSplitOptions.None, ["a", "", "c"], 3),
68+
new("a\t\tc", '\t', 3, StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
69+
new("α,β,γ", ',', 3, StringSplitOptions.None, ["α", "β", "γ"], 3),
70+
new("α,,γ", ',', 3, StringSplitOptions.None, ["α", "", "γ"], 3),
71+
new("α,,γ", ',', 3, StringSplitOptions.RemoveEmptyEntries, ["α", "γ"], 2),
72+
new("one", 'x', 1, StringSplitOptions.None, ["one"], 1),
73+
new("one", 'x', 3, StringSplitOptions.None, ["one"], 1),
74+
new("one", 'x', 3, StringSplitOptions.RemoveEmptyEntries, ["one"], 1),
75+
new("xone", 'x', 2, StringSplitOptions.None, ["", "one"], 2),
76+
new("onex", 'x', 2, StringSplitOptions.None, ["one", ""], 2),
77+
new("xone", 'x', 2, StringSplitOptions.RemoveEmptyEntries, ["one"], 1),
78+
new("onex", 'x', 2, StringSplitOptions.RemoveEmptyEntries, ["one"], 1)
79+
];
80+
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
using System;
2+
using Xunit;
3+
4+
namespace PrimeFuncPack.Core.Tests;
5+
6+
using TestTheoryData = TheoryData<string?, char, StringSplitOptions, string[]?, int>;
7+
8+
partial class FlatArrayExtensionsTest
9+
{
10+
[Theory]
11+
[MemberData(nameof(SplitToFlatArray_WithCharSeparator_ExpectCorrectState_Cases))]
12+
public void SplitToFlatArray_WithCharSeparator_ExpectCorrectState(
13+
string? source, char separator, StringSplitOptions options, string[]? expectedItems, int expectedLength)
14+
{
15+
var actual = source.SplitToFlatArray(separator, options);
16+
actual.VerifyInnerState(expectedItems, expectedLength);
17+
}
18+
19+
public static TestTheoryData SplitToFlatArray_WithCharSeparator_ExpectCorrectState_Cases
20+
=>
21+
[
22+
new(null, 'a', StringSplitOptions.None, null, default),
23+
new(string.Empty, ',', StringSplitOptions.None, [string.Empty], 1),
24+
new(string.Empty, ',', StringSplitOptions.RemoveEmptyEntries, null, default),
25+
new("a", ',', StringSplitOptions.None, ["a"], 1),
26+
new("abc", ',', StringSplitOptions.None, ["abc"], 1),
27+
new("a,b,c", ',', StringSplitOptions.None, ["a", "b", "c"], 3),
28+
new("a,,c", ',', StringSplitOptions.None, ["a", "", "c"], 3),
29+
new("a,,c", ',', StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
30+
new(",,,", ',', StringSplitOptions.None, ["", "", "", ""], 4),
31+
new(",,,", ',', StringSplitOptions.RemoveEmptyEntries, null, default),
32+
new(",a,b,", ',', StringSplitOptions.None, ["", "a", "b", ""], 4),
33+
new(",a,b,", ',', StringSplitOptions.RemoveEmptyEntries, ["a", "b"], 2),
34+
new(" a , b , c ", ',', StringSplitOptions.None, [" a ", " b ", " c "], 3),
35+
new(" a , b , c ", ',', StringSplitOptions.TrimEntries, ["a", "b", "c"], 3),
36+
new(" a , , c ", ',', StringSplitOptions.TrimEntries, ["a", "", "c"], 3),
37+
new(" a , , c ", ',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
38+
new("a|b|c", '|', StringSplitOptions.None, ["a", "b", "c"], 3),
39+
new("a|b||c", '|', StringSplitOptions.None, ["a", "b", "", "c"], 4),
40+
new("a|b||c", '|', StringSplitOptions.RemoveEmptyEntries, ["a", "b", "c"], 3),
41+
new("|a|b|", '|', StringSplitOptions.None, ["", "a", "b", ""], 4),
42+
new("|a|b|", '|', StringSplitOptions.RemoveEmptyEntries, ["a", "b"], 2),
43+
new(" ", ' ', StringSplitOptions.None, ["", "", "", ""], 4),
44+
new(" ", ' ', StringSplitOptions.RemoveEmptyEntries, null, default),
45+
new(" ", ' ', StringSplitOptions.TrimEntries, ["", "", "", ""], 4),
46+
new(" ", ' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries, null, default),
47+
new("a b c", ' ', StringSplitOptions.None, ["a", "b", "c"], 3),
48+
new("a b c", ' ', StringSplitOptions.None, ["a", "b", "", "c"], 4),
49+
new("a b c", ' ', StringSplitOptions.RemoveEmptyEntries, ["a", "b", "c"], 3),
50+
new(" a b c ", ' ', StringSplitOptions.TrimEntries, ["", "a", "b", "c", ""], 5),
51+
new("a\tb\tc", '\t', StringSplitOptions.None, ["a", "b", "c"], 3),
52+
new("a\t\tc", '\t', StringSplitOptions.None, ["a", "", "c"], 3),
53+
new("a\t\tc", '\t', StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
54+
new("α,β,γ", ',', StringSplitOptions.None, ["α", "β", "γ"], 3),
55+
new("α,,γ", ',', StringSplitOptions.None, ["α", "", "γ"], 3),
56+
new("α,,γ", ',', StringSplitOptions.RemoveEmptyEntries, ["α", "γ"], 2),
57+
new("one", 'x', StringSplitOptions.None, ["one"], 1),
58+
new("one", 'x', StringSplitOptions.RemoveEmptyEntries, ["one"], 1),
59+
new("xone", 'x', StringSplitOptions.None, ["", "one"], 2),
60+
new("onex", 'x', StringSplitOptions.None, ["one", ""], 2),
61+
new("xone", 'x', StringSplitOptions.RemoveEmptyEntries, ["one"], 1),
62+
new("onex", 'x', StringSplitOptions.RemoveEmptyEntries, ["one"], 1)
63+
];
64+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
using System;
2+
using Xunit;
3+
4+
namespace PrimeFuncPack.Core.Tests;
5+
6+
using TestTheoryData = TheoryData<string?, char[]?, int, StringSplitOptions, string[]?, int>;
7+
8+
partial class FlatArrayExtensionsTest
9+
{
10+
[Theory]
11+
[MemberData(nameof(SplitToFlatArray_WithCharSeparatorsAndCount_ExpectCorrectState_Cases))]
12+
public void SplitToFlatArray_WithCharSeparatorsAndCount_ExpectCorrectState(
13+
string? source, char[]? separators, int count, StringSplitOptions options, string[]? expectedItems, int expectedLength)
14+
{
15+
var actual = source.SplitToFlatArray(separators, count, options);
16+
actual.VerifyInnerState(expectedItems, expectedLength);
17+
}
18+
19+
public static TestTheoryData SplitToFlatArray_WithCharSeparatorsAndCount_ExpectCorrectState_Cases
20+
=>
21+
[
22+
new(null, [','], 1, StringSplitOptions.None, null, default),
23+
new("a,b;c", [',', ';'], -5, StringSplitOptions.None, null, default),
24+
new("a,b;c", [',', ';'], -1, StringSplitOptions.RemoveEmptyEntries, null, default),
25+
new(string.Empty, [','], 1, StringSplitOptions.None, [string.Empty], 1),
26+
new(string.Empty, [','], 1, StringSplitOptions.RemoveEmptyEntries, null, default),
27+
new("a,b;c", [',', ';'], 1, StringSplitOptions.None, ["a,b;c"], 1),
28+
new("a,b;c", [',', ';'], 2, StringSplitOptions.None, ["a", "b;c"], 2),
29+
new("a,b;c", [',', ';'], 3, StringSplitOptions.None, ["a", "b", "c"], 3),
30+
new("a,b;c", [',', ';'], 10, StringSplitOptions.None, ["a", "b", "c"], 3),
31+
new("a,,c", [','], 2, StringSplitOptions.None, ["a", ",c"], 2),
32+
new("a,,c", [','], 3, StringSplitOptions.None, ["a", "", "c"], 3),
33+
new("a,,c", [','], 3, StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
34+
new(",;a;;b,", [',', ';'], 2, StringSplitOptions.None, ["", ";a;;b,"], 2),
35+
new(",;a;;b,", [',', ';'], 6, StringSplitOptions.None, ["", "", "a", "", "b", ""], 6),
36+
new(",;a;;b,", [',', ';'], 6, StringSplitOptions.RemoveEmptyEntries, ["a", "b"], 2),
37+
new(" a | b ; c ", ['|', ';'], 3, StringSplitOptions.TrimEntries, ["a", "b", "c"], 3),
38+
new(" a | ; c ", ['|', ';'], 3, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
39+
new("a b c", null, 2, StringSplitOptions.None, ["a", "b c"], 2),
40+
new("a\tb c", [], 2, StringSplitOptions.None, ["a", "b c"], 2),
41+
new("a\tb c", [], 3, StringSplitOptions.None, ["a", "b", "c"], 3),
42+
new(" ", [], 1, StringSplitOptions.None, [" "], 1),
43+
new(" ", [], 4, StringSplitOptions.RemoveEmptyEntries, null, default),
44+
new(" a b ", [], 2, StringSplitOptions.RemoveEmptyEntries, ["a", "b "], 2),
45+
new("a b c", [], 2, StringSplitOptions.RemoveEmptyEntries, ["a", "b c"], 2),
46+
new("a,b", [','], 0, StringSplitOptions.None, null, default),
47+
new("one", ['x'], 3, StringSplitOptions.None, ["one"], 1),
48+
new("xone", ['x'], 2, StringSplitOptions.RemoveEmptyEntries, ["one"], 1)
49+
];
50+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
using System;
2+
using Xunit;
3+
4+
namespace PrimeFuncPack.Core.Tests;
5+
6+
using TestTheoryData = TheoryData<string?, char[]?, StringSplitOptions, string[]?, int>;
7+
8+
partial class FlatArrayExtensionsTest
9+
{
10+
[Theory]
11+
[MemberData(nameof(SplitToFlatArray_WithCharSeparators_ExpectCorrectState_Cases))]
12+
public void SplitToFlatArray_WithCharSeparators_ExpectCorrectState(
13+
string? source, char[]? separators, StringSplitOptions options, string[]? expectedItems, int expectedLength)
14+
{
15+
var actual = source.SplitToFlatArray(separators, options);
16+
actual.VerifyInnerState(expectedItems, expectedLength);
17+
}
18+
19+
public static TestTheoryData SplitToFlatArray_WithCharSeparators_ExpectCorrectState_Cases
20+
=>
21+
[
22+
new(null, [','], StringSplitOptions.None, null, default),
23+
new(string.Empty, [','], StringSplitOptions.None, [string.Empty], 1),
24+
new(string.Empty, [','], StringSplitOptions.RemoveEmptyEntries, null, default),
25+
new("a,b;c", [',', ';'], StringSplitOptions.None, ["a", "b", "c"], 3),
26+
new("a,,c", [',', ';'], StringSplitOptions.None, ["a", "", "c"], 3),
27+
new("a,,c", [','], StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
28+
new(",;a;;b,", [',', ';'], StringSplitOptions.None, ["", "", "a", "", "b", ""], 6),
29+
new(",;a;;b,", [',', ';'], StringSplitOptions.RemoveEmptyEntries, ["a", "b"], 2),
30+
new(" a | b ; c ", ['|', ';'], StringSplitOptions.None, [" a ", " b ", " c "], 3),
31+
new(" a | b ; c ", ['|', ';'], StringSplitOptions.TrimEntries, ["a", "b", "c"], 3),
32+
new(" a | ; c ", ['|', ';'], StringSplitOptions.TrimEntries, ["a", "", "c"], 3),
33+
new(" a | ; c ", ['|', ';'], StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
34+
new("a\tb c", [], StringSplitOptions.None, ["a", "b", "c"], 3),
35+
new(" ", [], StringSplitOptions.None, ["", "", "", ""], 4),
36+
new(" ", [], StringSplitOptions.RemoveEmptyEntries, null, default),
37+
new(" a b ", [], StringSplitOptions.RemoveEmptyEntries, ["a", "b"], 2),
38+
new("one", ['x', 'y'], StringSplitOptions.None, ["one"], 1),
39+
new("xone", ['x'], StringSplitOptions.None, ["", "one"], 2),
40+
new("onex", ['x'], StringSplitOptions.RemoveEmptyEntries, ["one"], 1),
41+
new("a||b;;c", ['|', ';'], StringSplitOptions.RemoveEmptyEntries, ["a", "b", "c"], 3),
42+
new("a| |c", ['|'], StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
43+
new("α,β;γ", [',', ';'], StringSplitOptions.None, ["α", "β", "γ"], 3),
44+
new("a,b c", null, StringSplitOptions.None, ["a,b", "c"], 2)
45+
];
46+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
using System;
2+
using Xunit;
3+
4+
namespace PrimeFuncPack.Core.Tests;
5+
6+
using TestTheoryData = TheoryData<string?, string?, int, StringSplitOptions, string[]?, int>;
7+
8+
partial class FlatArrayExtensionsTest
9+
{
10+
[Theory]
11+
[MemberData(nameof(SplitToFlatArray_WithStringSeparatorAndCount_ExpectCorrectState_Cases))]
12+
public void SplitToFlatArray_WithStringSeparatorAndCount_ExpectCorrectState(
13+
string? source, string? separator, int count, StringSplitOptions options, string[]? expectedItems, int expectedLength)
14+
{
15+
var actual = source.SplitToFlatArray(separator, count, options);
16+
actual.VerifyInnerState(expectedItems, expectedLength);
17+
}
18+
19+
public static TestTheoryData SplitToFlatArray_WithStringSeparatorAndCount_ExpectCorrectState_Cases
20+
=>
21+
[
22+
new(null, ",", 1, StringSplitOptions.None, null, default),
23+
new("a,b,c", ",", -5, StringSplitOptions.None, null, default),
24+
new("a,b,c", ",", -1, StringSplitOptions.RemoveEmptyEntries, null, default),
25+
new(string.Empty, ",", 1, StringSplitOptions.None, [string.Empty], 1),
26+
new(string.Empty, ",", 1, StringSplitOptions.RemoveEmptyEntries, null, default),
27+
new("a,b,c", ",", 1, StringSplitOptions.None, ["a,b,c"], 1),
28+
new("a,b,c", ",", 2, StringSplitOptions.None, ["a", "b,c"], 2),
29+
new("a,b,c", ",", 3, StringSplitOptions.None, ["a", "b", "c"], 3),
30+
new("a,b,c", ",", 10, StringSplitOptions.None, ["a", "b", "c"], 3),
31+
new("a,,c", ",", 2, StringSplitOptions.None, ["a", ",c"], 2),
32+
new("a,,c", ",", 3, StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
33+
new(",a,b,", ",", 2, StringSplitOptions.None, ["", "a,b,"], 2),
34+
new(",a,b,", ",", 4, StringSplitOptions.RemoveEmptyEntries, ["a", "b"], 2),
35+
new("a||b||c", "||", 2, StringSplitOptions.None, ["a", "b||c"], 2),
36+
new("a||b||c", "||", 3, StringSplitOptions.None, ["a", "b", "c"], 3),
37+
new("a||||c", "||", 3, StringSplitOptions.None, ["a", "", "c"], 3),
38+
new("a||||c", "||", 3, StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
39+
new(" a :: b :: c ", "::", 3, StringSplitOptions.TrimEntries, ["a", "b", "c"], 3),
40+
new(" a :: :: c ", "::", 3, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries, ["a", "c"], 2),
41+
new("a b c", null, 2, StringSplitOptions.None, ["a b c"], 1),
42+
new("a b c", null, 3, StringSplitOptions.RemoveEmptyEntries, ["a b c"], 1),
43+
new(" ", null, 1, StringSplitOptions.None, [" "], 1),
44+
new(" ", null, 4, StringSplitOptions.RemoveEmptyEntries, [" "], 1),
45+
new("one", "x", 3, StringSplitOptions.None, ["one"], 1),
46+
new("xone", "x", 2, StringSplitOptions.RemoveEmptyEntries, ["one"], 1),
47+
new("a,b", ",", 0, StringSplitOptions.None, null, default),
48+
new("a b c", string.Empty, 2, StringSplitOptions.RemoveEmptyEntries, ["a b c"], 1)
49+
];
50+
}

0 commit comments

Comments
 (0)