CultureTest.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. //
  2. // CultureTest.cs: Test cases for culture-invariant string convertions
  3. //
  4. // Authors:
  5. // Robert Jordan <[email protected]>
  6. //
  7. using System;
  8. using System.Collections;
  9. using System.Globalization;
  10. using System.Drawing;
  11. using System.IO;
  12. using System.Resources;
  13. using System.Threading;
  14. using NUnit.Framework;
  15. namespace MonoTests.System.Resources
  16. {
  17. [TestFixture]
  18. public class CultureTest : MonoTests.System.Windows.Forms.TestHelper
  19. {
  20. string fileName = null;
  21. [SetUp]
  22. protected override void SetUp ()
  23. {
  24. fileName = Path.GetTempFileName ();
  25. base.SetUp ();
  26. }
  27. [TearDown]
  28. protected override void TearDown ()
  29. {
  30. File.Delete (fileName);
  31. base.TearDown ();
  32. }
  33. [Test]
  34. public void Test ()
  35. {
  36. Thread.CurrentThread.CurrentCulture =
  37. Thread.CurrentThread.CurrentUICulture = new CultureInfo ("de-DE");
  38. ResXResourceWriter w = new ResXResourceWriter (fileName);
  39. w.AddResource ("point", new Point (42, 43));
  40. w.Generate ();
  41. w.Close ();
  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. Assert.AreEqual (1, count, "#100");
  56. }
  57. }
  58. }