New test.
[mono.git] / mcs / class / corlib / Test / System.Globalization / CultureInfoTest.cs
1 //
2 // System.Globalization.CultureInfo Test Cases
3 //
4 // Authors:
5 //      Gonzalo Paniagua Javier (gonzalo@ximian.com)
6 //
7 // (c) 2005 Novell, Inc. (http://www.novell.com)
8 //
9
10 using NUnit.Framework;
11 using System.IO;
12 using System;
13 using System.Globalization;
14 using System.Threading;
15
16 namespace MonoTests.System.Globalization
17 {
18         [TestFixture]
19         public class CultureInfoTest : Assertion
20         {
21                 [Test]
22                 public void GetAllCulturesInvariant () // bug #72081
23                 {
24                         CultureInfo invariant = CultureInfo.InvariantCulture;
25                         CultureInfo [] infos = CultureInfo.GetCultures (CultureTypes.AllCultures);
26                         foreach (CultureInfo culture in infos) {
27                                 if (culture.Equals (invariant))
28                                         return;
29                         }
30
31                         Assert ("InvariantCulture not found in the array from GetCultures()", false);
32                 }
33
34                 [Test]
35                 [ExpectedException (typeof (NotSupportedException))]
36                 public void TrySetNeutralCultureNotInvariant ()
37                 {
38                         Thread.CurrentThread.CurrentCulture = new CultureInfo ("ar");
39                 }
40
41                 [Test]
42                 // make sure that all CultureInfo holds non-null calendars.
43                 public void OptionalCalendars ()
44                 {
45                         foreach (CultureInfo ci in CultureInfo.GetCultures (
46                                 CultureTypes.AllCultures))
47                                 AssertNotNull (String.Format ("{0} {1}",
48                                         ci.LCID, ci.Name), ci.OptionalCalendars);
49                 }
50
51                 [Test]
52                 public void CloneNeutral () // bug #77347
53                 {
54                         CultureInfo culture = new CultureInfo ("en");
55                         CultureInfo cultureClone = culture.Clone () as CultureInfo;
56                         Assert (culture.Equals (cultureClone));
57                 }
58
59                 [Test]
60                 public void Norwegian () // bug #69652
61                 {
62                         new CultureInfo ("no");
63                         new CultureInfo ("nb-NO");
64                         new CultureInfo ("nn-NO");
65                 }
66         }
67 }
68