System.Tests.StringTests.IndexOf_HungarianDoubleCompression C# (CSharp) Method

IndexOf_HungarianDoubleCompression() private method

private IndexOf_HungarianDoubleCompression ( ) : void
return void
        public static void IndexOf_HungarianDoubleCompression()
        {
            string source = "dzsdzs";
            string target = "ddzs";
            Helpers.PerformActionWithCulture(new CultureInfo("hu-HU"), () =>
            {
            /* 
             There are differences between Windows and ICU regarding contractions.
             Windows has equal contraction collation weights, including case (target="Ddzs" same behavior as "ddzs").
             ICU has different contraction collation weights, depending on locale collation rules.
             If CurrentCultureIgnoreCase is specified, ICU will use 'secondary' collation rules
              which ignore the contraction collation weights (defined as 'tertiary' rules)
            */
                Assert.Equal(s_isWindows ? 0 : -1, source.IndexOf(target));
                Assert.Equal(s_isWindows ? 0 : -1, source.IndexOf(target, StringComparison.CurrentCulture));

                Assert.Equal(0, source.IndexOf(target, StringComparison.CurrentCultureIgnoreCase));
                Assert.Equal(-1, source.IndexOf(target, StringComparison.Ordinal));
                Assert.Equal(-1, source.IndexOf(target, StringComparison.OrdinalIgnoreCase));
            });
            Helpers.PerformActionWithCulture(CultureInfo.InvariantCulture, () =>
            {
                Assert.Equal(-1, source.IndexOf(target));
                Assert.Equal(-1, source.IndexOf(target, StringComparison.CurrentCulture));
                Assert.Equal(-1, source.IndexOf(target, StringComparison.CurrentCultureIgnoreCase));
            });
        }
StringTests