2 // CompatTest.cs: Compatibility unit tests for ResXResourceReader.
5 // Robert Jordan <robertj@gmx.net>
9 using System.Collections;
12 using System.Resources;
13 using NUnit.Framework;
15 namespace MonoTests.System.Resources
18 public class CompatTest
22 public static void TestReader (string fileName)
24 ResXResourceReader r = new ResXResourceReader (fileName);
25 Hashtable h = new Hashtable ();
26 foreach (DictionaryEntry e in r) {
27 h.Add (e.Key, e.Value);
31 Assert.AreEqual ("hola", (string) h ["String"], fileName + "#1");
32 Assert.AreEqual ("hello", (string) h ["String2"], fileName + "#2");
33 Assert.AreEqual (42, (int) h ["Int"], fileName + "#3");
34 Assert.AreEqual (PlatformID.Win32NT, (PlatformID) h ["Enum"], fileName + "#4");
35 Assert.AreEqual (43, ((Point) h ["Convertible"]).X, fileName + "#5");
36 Assert.AreEqual (2, (byte) ((ArrayList) h ["Serializable"]) [1], fileName + "#6");
37 Assert.AreEqual (13, ((byte []) h ["ByteArray"]) [1], fileName + "#7");
38 Assert.AreEqual (16, ((byte []) h ["ByteArray2"]) [1], fileName + "#8");
39 Assert.AreEqual (1013, ((int []) h ["IntArray"]) [1], fileName + "#9");
40 Assert.AreEqual ("world", ((string []) h ["StringArray"]) [1], fileName + "#10");
42 Assert.IsNull (h ["InvalidMimeType"], "#11");
44 Assert.IsNotNull (h ["InvalidMimeType"], "#11a");
45 Assert.AreEqual ("AAEAAAD/////AQAAAAAAAAARAQAAAAIAAAAGAgAAAAVoZWxsbwYDAAAABXdvcmxkCw==",
46 h ["InvalidMimeType"], "#11b");
48 Assert.IsNotNull (h ["Image"], fileName + "#12");
49 Assert.AreEqual (typeof (Bitmap), h ["Image"].GetType (), fileName + "#13");
54 public void TestReader ()
56 string fileName = Path.Combine (Path.Combine ("Test", "System.Resources"), "compat_1_1.resx");
57 if (!File.Exists (fileName))
58 fileName = String.Format ("..{0}System.Resources{0}compat_1_1.resx", Path.DirectorySeparatorChar);
60 Helper.TestReader (fileName);
65 public void TestReader_2_0 ()
67 string fileName = Path.Combine (Path.Combine ("Test", "System.Resources"), "compat_2_0.resx");
68 if (!File.Exists (fileName))
69 fileName = String.Format ("..{0}System.Resources{0}compat_2_0.resx", Path.DirectorySeparatorChar);
71 Helper.TestReader (fileName);