CompatTest.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. //
  2. // CompatTest.cs: Compatibility unit tests for ResXResourceReader.
  3. //
  4. // Authors:
  5. // Robert Jordan <[email protected]>
  6. //
  7. using System;
  8. using System.Collections;
  9. using System.Drawing;
  10. using System.IO;
  11. using System.Resources;
  12. using NUnit.Framework;
  13. namespace MonoTests.System.Resources
  14. {
  15. [TestFixture]
  16. public class CompatTest : MonoTests.System.Windows.Forms.TestHelper
  17. {
  18. class Helper
  19. {
  20. public static void TestReader (string fileName)
  21. {
  22. ResXResourceReader r = new ResXResourceReader (fileName);
  23. Hashtable h = new Hashtable ();
  24. foreach (DictionaryEntry e in r) {
  25. h.Add (e.Key, e.Value);
  26. }
  27. r.Close ();
  28. Assert.AreEqual ("hola", (string) h ["String"], fileName + "#1");
  29. Assert.AreEqual ("hello", (string) h ["String2"], fileName + "#2");
  30. Assert.AreEqual (42, (int) h ["Int"], fileName + "#3");
  31. Assert.AreEqual (PlatformID.Win32NT, (PlatformID) h ["Enum"], fileName + "#4");
  32. Assert.AreEqual (43, ((Point) h ["Convertible"]).X, fileName + "#5");
  33. Assert.AreEqual (2, (byte) ((ArrayList) h ["Serializable"]) [1], fileName + "#6");
  34. Assert.AreEqual (13, ((byte []) h ["ByteArray"]) [1], fileName + "#7");
  35. Assert.AreEqual (16, ((byte []) h ["ByteArray2"]) [1], fileName + "#8");
  36. Assert.AreEqual (1013, ((int []) h ["IntArray"]) [1], fileName + "#9");
  37. Assert.AreEqual ("world", ((string []) h ["StringArray"]) [1], fileName + "#10");
  38. Assert.IsNull (h ["InvalidMimeType"], "#11");
  39. Assert.IsNotNull (h ["Image"], fileName + "#12");
  40. Assert.AreEqual (typeof (Bitmap), h ["Image"].GetType (), fileName + "#13");
  41. }
  42. }
  43. [Test]
  44. public void TestReader ()
  45. {
  46. string fileName = Path.Combine (Path.Combine ("Test", "System.Resources"), "compat_1_1.resx");
  47. if (!File.Exists (fileName))
  48. fileName = String.Format ("..{0}System.Resources{0}compat_1_1.resx", Path.DirectorySeparatorChar);
  49. Helper.TestReader (fileName);
  50. }
  51. [Test]
  52. public void TestReader_2_0 ()
  53. {
  54. string fileName = Path.Combine (Path.Combine ("Test", "System.Resources"), "compat_2_0.resx");
  55. if (!File.Exists (fileName))
  56. fileName = String.Format ("..{0}System.Resources{0}compat_2_0.resx", Path.DirectorySeparatorChar);
  57. Helper.TestReader (fileName);
  58. }
  59. }
  60. }