New test.
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Resources / CultureTest.cs
1 //
2 // CultureTest.cs: Test cases for culture-invariant string convertions
3 //
4 // Authors:
5 //     Robert Jordan <robertj@gmx.net>
6 //
7
8 using System;
9 using System.Collections;
10 using System.Globalization;
11 using System.Drawing;
12 using System.IO;
13 using System.Resources;
14 using System.Threading;
15 using NUnit.Framework;
16
17 namespace MonoTests.System.Resources
18 {
19         [TestFixture]
20         public class CultureTest
21         {
22                 string fileName = Path.GetTempFileName ();
23
24                 [Test]
25                 public void TestWriter ()
26                 {
27                         Thread.CurrentThread.CurrentCulture =
28                                 Thread.CurrentThread.CurrentUICulture = new CultureInfo ("de-DE");
29
30                         ResXResourceWriter w = new ResXResourceWriter (fileName);
31                         w.AddResource ("point", new Point (42, 43));
32                         w.Generate ();
33                         w.Close ();
34                 }
35
36                 [Test]
37                 public void TestReader ()
38                 {
39                         Thread.CurrentThread.CurrentCulture =
40                                 Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
41
42                         int count = 0;
43                         ResXResourceReader r = new ResXResourceReader (fileName);
44                         IDictionaryEnumerator e = r.GetEnumerator ();
45                         while (e.MoveNext ()) {
46                                 if ((string)e.Key == "point") {
47                                         Assert.AreEqual (typeof (Point), e.Value.GetType (), "#1");
48                                         Point p = (Point) e.Value;
49                                         Assert.AreEqual (42, p.X, "#2");
50                                         Assert.AreEqual (43, p.Y, "#3");
51                                         count++;
52                                 }
53                         }
54                         r.Close ();
55                         File.Delete (fileName);
56                         Assert.AreEqual (1, count, "#100");
57                 }
58         }
59 }