public static void Ctor_Empty_ChangeCurrentCulture_GetHashCodeCompare(object a, object b, bool expected)
{
var cultureNames = new string[]
{
"cs-CZ","da-DK","de-DE","el-GR","en-US",
"es-ES","fi-FI","fr-FR","hu-HU","it-IT",
"ja-JP","ko-KR","nb-NO","nl-NL","pl-PL",
"pt-BR","pt-PT","ru-RU","sv-SE","tr-TR",
"zh-CN","zh-HK","zh-TW"
};
foreach (string cultureName in cultureNames)
{
CultureInfo newCulture;
try
{
newCulture = new CultureInfo(cultureName);
}
catch (CultureNotFoundException)
{
continue;
}
CultureInfo origCulture = CultureInfo.CurrentCulture;
try
{
CultureInfo.CurrentCulture = newCulture;
var provider = new CaseInsensitiveHashCodeProvider();
Assert.Equal(provider.GetHashCode(a), provider.GetHashCode(a));
Assert.Equal(provider.GetHashCode(b), provider.GetHashCode(b));
Assert.Equal(expected, provider.GetHashCode(a) == provider.GetHashCode(b));
}
finally
{
CultureInfo.CurrentCulture = origCulture;
}
}
}