Skip to content

Commit 873cf04

Browse files
Added more unit tests.
1 parent 75052b5 commit 873cf04

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

Tests/StringSegmentTests.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,4 +175,29 @@ public static void ReplaceEach(string input, string search, string replace, stri
175175
Assert.Equal(expected, result);
176176
}
177177

178+
[Theory]
179+
[InlineData("Hello, world!", "world", 0, StringComparison.Ordinal, 7)]
180+
[InlineData("Hello, world!", "WORLD", 0, StringComparison.Ordinal, -1)]
181+
[InlineData("Hello, world!", "WORLD", 0, StringComparison.OrdinalIgnoreCase, 7)]
182+
[InlineData("abcdefg", "cde", 0, StringComparison.Ordinal, 2)]
183+
[InlineData("abcdefg", "CDE", 0, StringComparison.Ordinal, -1)]
184+
[InlineData("abcdefg", "CDE", 0, StringComparison.OrdinalIgnoreCase, 2)]
185+
[InlineData("Hello, world! world!", "world", 8, StringComparison.Ordinal, 14)]
186+
[InlineData("Hello, world! world!", "WORLD", 8, StringComparison.Ordinal, -1)]
187+
[InlineData("Hello, world! world!", "WORLD", 8, StringComparison.OrdinalIgnoreCase, 14)]
188+
public static void IndexOf_FindsSubstringWithCaseVariations(
189+
string input,
190+
string value,
191+
int startIndex,
192+
StringComparison comparisonType,
193+
int expectedResult)
194+
{
195+
StringSegment segment = input;
196+
StringSegment valueSegment = value;
197+
198+
int result = segment.IndexOf(valueSegment, startIndex, comparisonType);
199+
Assert.Equal(expectedResult, result);
200+
result = segment.IndexOf(valueSegment.AsSpan(), startIndex, comparisonType);
201+
Assert.Equal(expectedResult, result);
202+
}
178203
}

0 commit comments

Comments
 (0)