public static void LastIndexOf_TurkishI()
{
string s = "Turkish I \u0131s TROUBL\u0130NG!";
Helpers.PerformActionWithCulture(new CultureInfo("tr-TR"), () =>
{
string value = "\u0130";
Assert.Equal(19, s.LastIndexOf(value));
Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCulture));
Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
Assert.Equal(19, s.LastIndexOf(value, StringComparison.Ordinal));
Assert.Equal(19, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
value = "\u0131";
Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCulture));
Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
Assert.Equal(10, s.LastIndexOf(value, StringComparison.Ordinal));
Assert.Equal(10, s.LastIndexOf(value, StringComparison.OrdinalIgnoreCase));
});
Helpers.PerformActionWithCulture(CultureInfo.InvariantCulture, () =>
{
string value = "\u0130";
Assert.Equal(19, s.LastIndexOf(value));
Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCulture));
Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
value = "\u0131";
Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCulture));
Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
});
Helpers.PerformActionWithCulture(new CultureInfo("en-US"), () =>
{
string value = "\u0130";
Assert.Equal(19, s.LastIndexOf(value));
Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCulture));
Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
value = "\u0131";
Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCulture));
Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
});
}