System.Globalization.Tests.DateTimeFormatInfoMiscTests.AllDateTimePatternsTest C# (CSharp) Method

AllDateTimePatternsTest() private method

private AllDateTimePatternsTest ( string cultureName ) : void
cultureName string
return void
        public void AllDateTimePatternsTest(string cultureName)
        {
            char[] formats = { 'd', 'D', 'f', 'F', 'g', 'G', 'm', 'o', 'r', 's', 't', 'T', 'u', 'U', 'y' };
            DateTimeFormatInfo dtfi = (DateTimeFormatInfo) new CultureInfo(cultureName).DateTimeFormat.Clone();

            var allPatterns = dtfi.GetAllDateTimePatterns();
            Dictionary<string, string> dic = new Dictionary<string, string>();

            string value = "";
            foreach (char format in formats)
            {
                foreach (string pattern in dtfi.GetAllDateTimePatterns(format))
                {
                    if (!dic.TryGetValue(pattern, out value))
                    {
                        dic.Add(pattern, "");
                    }
                }
            }

            foreach (string pattern in allPatterns)
            {
                Assert.True(dic.TryGetValue(pattern, out value), "Couldn't find the pattern in the patterns list");
            }

            char[] setterFormats = { 'd', 'D', 't', 'T', 'y', 'Y' };
            foreach (char format in setterFormats)
            {
                var formatPatterns = dtfi.GetAllDateTimePatterns(format);
                string [] newPatterns = new string[1] { formatPatterns[formatPatterns.Length - 1] };
                dtfi.SetAllDateTimePatterns(newPatterns, format);
                Assert.Equal(newPatterns, dtfi.GetAllDateTimePatterns(format));
            }
        }