Skip to content

Commit fc28ebe

Browse files
committed
Expand SimpleIndexOfAnyValues test a bit more
1 parent 70fd695 commit fc28ebe

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

src/libraries/System.Memory/tests/Span/StringSearchValues.cs

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -417,9 +417,25 @@ static void TestCore(string[] valuesArray)
417417
Values_ImplementsSearchValuesBase(StringComparison.OrdinalIgnoreCase, valuesArray);
418418

419419
string values = string.Join(", ", valuesArray);
420+
string text = valuesArray[0];
420421

421-
IndexOfAny(StringComparison.Ordinal, 0, valuesArray[0], values);
422-
IndexOfAny(StringComparison.OrdinalIgnoreCase, 0, valuesArray[0], values);
422+
IndexOfAny(StringComparison.Ordinal, 0, text, values);
423+
IndexOfAny(StringComparison.OrdinalIgnoreCase, 0, text, values);
424+
425+
// Replace every position in the text with a different character.
426+
foreach (StringComparison comparisonType in new[] { StringComparison.Ordinal, StringComparison.OrdinalIgnoreCase })
427+
{
428+
SearchValues<string> stringValues = SearchValues.Create(valuesArray, comparisonType);
429+
430+
for (int i = 0; i < text.Length - 1; i++)
431+
{
432+
foreach (char replacement in "AaBb _!\u00F6")
433+
{
434+
string newText = $"{text.AsSpan(0, i)}{replacement}{text.AsSpan(i + 1)}";
435+
Assert.Equal(IndexOfAnyReferenceImpl(newText, valuesArray, comparisonType), newText.IndexOfAny(stringValues));
436+
}
437+
}
438+
}
423439
}
424440
}
425441

0 commit comments

Comments
 (0)