Skip to content

Commit 18c7dbc

Browse files
committed
fixed tests
1 parent cbc035a commit 18c7dbc

File tree

14 files changed

+87
-103
lines changed

14 files changed

+87
-103
lines changed

src/ExceptionHelpers.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ internal static void ThrowIfInvalid(CountExceedingBehaviour countExceedingBehavi
5050
throw new ArgumentException($"{nameof(CountExceedingBehaviour)} does not define an option with the value '{countExceedingBehaviour}'. Valid options are {string.Join(", ", names)}.", nameof(countExceedingBehaviour));
5151
}
5252
}
53-
53+
5454
internal static void ThrowIfOutOfBounds<T>(T value, T lowerBound, T upperBound,
5555
#if NET8_0_OR_GREATER
5656
[CallerArgumentExpression(nameof(value))]

src/Extensions/ReadOnlySpan/Linq/Where.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public static IEnumerable<T> Where<T>(this ReadOnlySpan<T> source, Predicate<T>
1717
{
1818
List<T> list = new List<T>();
1919

20-
foreach (T current in source)
20+
foreach(T current in source)
2121
{
2222
if(predicate(current))
2323
{
@@ -39,7 +39,7 @@ public static IEnumerable<T> Where<T>(this ReadOnlySpan<T> source, Predicate<T>
3939
public static IEnumerable<T> Where<T>(this ReadOnlySpan<T> source, Func<T, int, bool> predicate)
4040
{
4141
List<T> list = new List<T>();
42-
42+
4343
for(int i = 0; i < source.Length; i++)
4444
{
4545
T current = source[i];

tests/Performance/Tests/ReadOnlySpan/SplitAny/ReadOnlySpan_Split_Any_Benchmark.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public IEnumerable<object[]> GetArgsWithDelimiter()
3737
{
3838
yield return ["abcde", new char[] { 'b', 'd' }];
3939
yield return ["abcdefg", new char[] { 'b', 'd', 'f' }];
40-
yield return ["abba", new char[] { 'b', 'a' } ];
40+
yield return ["abba", new char[] { 'b', 'a' }];
4141
yield return ["1234567890", new char[] { '1', '5', '7' }];
4242
}
4343
}

tests/unit-tests/Tests/ReadOnlySpan/Split/Split/Data.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public static TheoryData<char[][], string, int, char> CountEqualDelimiterCountRe
2020
=> new TheoryData<char[][], string, int, char>
2121
{
2222
{ new char[][] { ['a', 'a'] }, "aabaa", 1, 'b' },
23-
{ new char[][] { ['a', 'a'], ['a', 'a'], ['a', 'a', 'b', 'a', 'a'] }, "aabaabaa", 2, 'b' }
23+
{ new char[][] { ['a', 'a'], ['a', 'a'] }, "aabaabaa", 2, 'b' }
2424
};
2525
}
2626
}

tests/unit-tests/Tests/ReadOnlySpan/Split/Split/Tests.cs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,18 @@ public void NoDelimiterOccurenceResultsInNoChange()
3030
AssertEqual(expected, actual);
3131
}
3232

33-
[Fact]
34-
public void CountEqualZeroResultsInNothing()
33+
[Theory]
34+
[InlineData(CountExceedingBehaviour.AppendRemainingElements)]
35+
[InlineData(CountExceedingBehaviour.CutRemainingElements)]
36+
public void CountEqualZeroResultsInNothing(CountExceedingBehaviour countExceedingBehaviour)
3537
{
36-
foreach(CountExceedingBehaviour countExceedingBehaviour in countExceedingBehaviours)
37-
{
38-
ReadOnlySpan<char> source = ABBAArray;
38+
ReadOnlySpan<char> source = ABBAArray;
3939

40-
var expected = EmptyNestedCharArray;
40+
char[][] expected = [];
4141

42-
var actual = source.Split('a', 0, countExceedingBehaviour).ToSystemEnumerable();
42+
var actual = source.Split('a', 0, countExceedingBehaviour).ToSystemEnumerable();
4343

44-
AssertEqual(expected, actual);
45-
}
44+
AssertEqual(expected, actual);
4645
}
4746

4847
[Fact]

tests/unit-tests/Tests/ReadOnlySpan/Split/SplitAny/Data.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ public static TheoryData<char[][], string, int, char[]> DelimiterAtTheEndWithCou
1414
=> new TheoryData<char[][], string, int, char[]>
1515
{
1616
{ new char[][] { ['a', 'a', 'b'] }, "aab", 1, ['b', 'c'] },
17-
{ new char[][] { ['a', 'a'], ['a', 'b'] }, "aabac", 2, ['b', 'c'] }
17+
{ new char[][] { ['a', 'a'], ['a', 'c'] }, "aabac", 2, ['b', 'c'] }
1818
};
1919
public static TheoryData<char[][], string, int, char[]> CountEqualDelimiterCountResultsInEverythingAfterAndIncludingLastDelimiterBeingCut_Data
2020
=> new TheoryData<char[][], string, int, char[]>
2121
{
2222
{ new char[][] { ['a', 'a'] }, "aabaa", 1, ['b', 'c'] },
23-
{ new char[][] { ['a', 'a'], ['a', 'a'], ['a', 'a', 'b', 'a', 'a'] }, "aabaacaa", 2, ['b', 'c'] }
23+
{ new char[][] { ['a', 'a'], ['a', 'a'] }, "aabaacaa", 2, ['b', 'c'] }
2424
};
2525
}
2626
}

tests/unit-tests/Tests/ReadOnlySpan/Split/SplitAny/Tests.cs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,18 @@ public void EmptyDelimiterSpanResultsInNoChange()
4242
AssertEqual(expected, actual);
4343
}
4444

45-
[Fact]
46-
public void CountEqualZeroResultsInNothing()
45+
[Theory]
46+
[InlineData(CountExceedingBehaviour.AppendRemainingElements)]
47+
[InlineData(CountExceedingBehaviour.CutRemainingElements)]
48+
public void CountEqualZeroResultsInNothing(CountExceedingBehaviour countExceedingBehaviour)
4749
{
48-
foreach(CountExceedingBehaviour countExceedingBehaviour in countExceedingBehaviours)
49-
{
50-
ReadOnlySpan<char> source = ABBAArray;
50+
ReadOnlySpan<char> source = ABBAArray;
5151

52-
var expected = EmptyNestedCharArray;
52+
char[][] expected = [];
5353

54-
var actual = source.SplitAny(['a', 'b'], 0, countExceedingBehaviour).ToSystemEnumerable();
54+
var actual = source.SplitAny(['a', 'b'], 0, countExceedingBehaviour).ToSystemEnumerable();
5555

56-
AssertEqual(expected, actual);
57-
}
56+
AssertEqual(expected, actual);
5857
}
5958

6059
[Fact]

tests/unit-tests/Tests/ReadOnlySpan/Split/SplitAny_StringSplitOptions/Data.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ public static partial class ReadOnlySpanSplitTests
77
public sealed partial class SplitAny_StringSplitOptions
88
{
99
public static TheoryData<StringSplitOptions> StringSplitOptionsWithRemoveEmptyEntries
10-
=> (TheoryData<StringSplitOptions>)stringSplitOptions.Where(x => x.HasFlag(StringSplitOptions.RemoveEmptyEntries));
10+
=> new TheoryData<StringSplitOptions>(stringSplitOptions.Where(x => x.HasFlag(StringSplitOptions.RemoveEmptyEntries)));
1111
public static TheoryData<StringSplitOptions> StringSplitOptionsWithoutRemoveEmptyEntries
12-
=> (TheoryData<StringSplitOptions>)stringSplitOptions.Where(x => !x.HasFlag(StringSplitOptions.RemoveEmptyEntries));
12+
=> new TheoryData<StringSplitOptions>(stringSplitOptions.Where(x => !x.HasFlag(StringSplitOptions.RemoveEmptyEntries)));
1313
public static TheoryData<StringSplitOptions> StringSplitOptions_Data
14-
=> (TheoryData<StringSplitOptions>)stringSplitOptions;
14+
=> new TheoryData<StringSplitOptions>(stringSplitOptions);
1515
public static TheoryData<char[][], string, int, char[]> CountEqualDelimiterCountResultsInSpanWithEverythingAfterAndIncludingLastDelimiter_Data
1616
=> new TheoryData<char[][], string, int, char[]>
1717
{

tests/unit-tests/Tests/ReadOnlySpan/Split/SplitAny_StringSplitOptions/Tests.cs

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -32,26 +32,13 @@ public void NoDelimiterOccurenceResultsInNoChange(StringSplitOptions options)
3232
AssertEqual(expected, actual);
3333
}
3434

35-
[Theory]
36-
[MemberData(nameof(StringSplitOptions_Data))]
37-
public void WhiteSpaceCharactersAssumedWhenDelimitersSpanIsEmpty(StringSplitOptions options)
38-
{
39-
ReadOnlySpan<char> emptySpan = "a b c d";
40-
41-
var expected = new char[][] { ['a'], ['b'], ['c'], ['d'] };
42-
43-
var actual = emptySpan.SplitAny([], options).ToSystemEnumerable();
44-
45-
AssertEqual(expected, actual);
46-
}
47-
4835
[Theory]
4936
[MemberData(nameof(CountEqualZeroResultsInNothing_Data))]
5037
public void CountEqualZeroResultsInNothing(StringSplitOptions options, CountExceedingBehaviour countExceedingBehaviour, char[] delimiters)
5138
{
5239
ReadOnlySpan<char> source = ABBAArray;
5340

54-
var expected = EmptyNestedCharArray;
41+
char[][] expected = [];
5542

5643
var actual = source.SplitAny(delimiters, 0, options, countExceedingBehaviour).ToSystemEnumerable();
5744

@@ -77,7 +64,7 @@ public void ConsecutiveDelimitersResultInEmptySpan()
7764

7865
char[][] expected = [['a'], [], ['a']];
7966

80-
var actual = source.SplitAny(['b', 'c'], 1, StringSplitOptions.None).ToSystemEnumerable();
67+
var actual = source.SplitAny(['b', 'c'], StringSplitOptions.None).ToSystemEnumerable();
8168

8269
AssertEqual(expected, actual);
8370
}
@@ -113,9 +100,9 @@ public void DelimiterAtTheStartWithRemoveEmptyEntriesOptionResultInNoEmptySpan(S
113100
{
114101
ReadOnlySpan<char> source = "baa";
115102

116-
char[][] expected = [['a'], ['a']];
117-
118-
var actual = source.SplitAny(['b', 'c'], 1, options).ToSystemEnumerable();
103+
char[][] expected = [['a', 'a']];
104+
105+
var actual = source.SplitAny(['b', 'c'], options).ToSystemEnumerable();
119106

120107
AssertEqual(expected, actual);
121108
}
@@ -127,7 +114,7 @@ public void DelimiterAtTheEndResultInEmptySpan()
127114

128115
char[][] expected = [['a', 'a'], []];
129116

130-
var actual = source.SplitAny(['b', 'c'], 1, StringSplitOptions.None).ToSystemEnumerable();
117+
var actual = source.SplitAny(['b', 'c'], StringSplitOptions.None).ToSystemEnumerable();
131118

132119
AssertEqual(expected, actual);
133120
}
@@ -138,9 +125,9 @@ public void DelimiterAtTheEndWithRemoveEmptyEntriesOptionResultInNoEmptySpan(Str
138125
{
139126
ReadOnlySpan<char> source = "aab";
140127

141-
char[][] expected = [['a', 'a'], []];
128+
char[][] expected = [['a', 'a']];
142129

143-
var actual = source.SplitAny(['b', 'c'], 1, options).ToSystemEnumerable();
130+
var actual = source.SplitAny(['b', 'c'], options).ToSystemEnumerable();
144131

145132
AssertEqual(expected, actual);
146133
}
@@ -208,7 +195,7 @@ public void WhiteSpaceSpanWithTrimEntriesAndRemoveEmptyEntriesOptionsReturnsNoth
208195
{
209196
ReadOnlySpan<char> source = "\r \n \t";
210197

211-
char[][] expected = EmptyNestedCharArray;
198+
char[][] expected = [];
212199

213200
var actual = source.SplitAny(['_', '!'], StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).ToSystemEnumerable();
214201

@@ -220,7 +207,7 @@ public void ConsecutiveDelimitersAtTheEndWithRemoveEmptyEntriesOptionResultInNoE
220207
{
221208
ReadOnlySpan<char> source = "aabc";
222209

223-
char[][] expected = EmptyNestedCharArray;
210+
char[][] expected = [['a', 'a']];
224211

225212
var actual = source.SplitAny(['b', 'c'], StringSplitOptions.RemoveEmptyEntries).ToSystemEnumerable();
226213

@@ -232,7 +219,7 @@ public void CountEqualOneWithRemoveEmptyEntriesOptionResultsInNothingIfSourceEmp
232219
{
233220
ReadOnlySpan<char> source = "";
234221

235-
char[][] expected = EmptyNestedCharArray;
222+
char[][] expected = [];
236223

237224
var actual = source.SplitAny(['b', 'c'], 1, StringSplitOptions.RemoveEmptyEntries).ToSystemEnumerable();
238225

@@ -242,9 +229,9 @@ public void CountEqualOneWithRemoveEmptyEntriesOptionResultsInNothingIfSourceEmp
242229
[Fact]
243230
public void CountEqualOneWithRemoveEmptyEntriesOptionDoesNotRecursivelyRemoveEmptySpansAtTheStart()
244231
{
245-
ReadOnlySpan<char> source = "aabc";
232+
ReadOnlySpan<char> source = "bcaa";
246233

247-
char[][] expected = [['b', 'a', 'a']];
234+
char[][] expected = [['b', 'c', 'a', 'a']];
248235

249236
var actual = source.SplitAny(['b', 'c'], 1, StringSplitOptions.RemoveEmptyEntries).ToSystemEnumerable();
250237

tests/unit-tests/Tests/ReadOnlySpan/Split/SplitSequence/Tests.cs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,18 @@ public void EmptyDelimiterSpanResultsInNoChange()
4242
AssertEqual(expected, actual);
4343
}
4444

45-
[Fact]
46-
public void CountEqualZeroResultsInNothing()
45+
[Theory]
46+
[InlineData(CountExceedingBehaviour.AppendRemainingElements)]
47+
[InlineData(CountExceedingBehaviour.CutRemainingElements)]
48+
public void CountEqualZeroResultsInNothing(CountExceedingBehaviour countExceedingBehaviour)
4749
{
48-
foreach(CountExceedingBehaviour countExceedingBehaviour in countExceedingBehaviours)
49-
{
50-
ReadOnlySpan<char> source = ABBAArray;
50+
ReadOnlySpan<char> source = ABBAArray;
5151

52-
var expected = EmptyNestedCharArray;
52+
char[][] expected = [];
5353

54-
var actual = source.Split(['a', 'b'], 0, countExceedingBehaviour).ToSystemEnumerable();
54+
var actual = source.Split(['a', 'b'], 0, countExceedingBehaviour).ToSystemEnumerable();
5555

56-
AssertEqual(expected, actual);
57-
}
56+
AssertEqual(expected, actual);
5857
}
5958

6059
[Fact]
@@ -133,7 +132,7 @@ public void CountEqualDelimiterCountResultsInEverythingAfterAndIncludingLastDeli
133132
{
134133
ReadOnlySpan<char> source = sourceString;
135134

136-
var actual = source.Split(delimiter, count).ToSystemEnumerable();
135+
var actual = source.Split(delimiter, count, CountExceedingBehaviour.CutRemainingElements).ToSystemEnumerable();
137136

138137
AssertEqual(expected, actual);
139138
}

0 commit comments

Comments
 (0)