System.Collections.Tests.CaseInsensitiveHashCodeProviderTests.Ctor_Empty_ChangeCurrentCulture_GetHashCodeCompare C# (CSharp) Method

Ctor_Empty_ChangeCurrentCulture_GetHashCodeCompare() private method

private Ctor_Empty_ChangeCurrentCulture_GetHashCodeCompare ( object a, object b, bool expected ) : void
a object
b object
expected bool
return void
        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;
                }
            }
        }