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));
}
}