label tests which don't work under mono as NotWorking, and remove some that will...
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Resources / CompatTest.cs
1 //
2 // CompatTest.cs: Compatibility unit tests for ResXResourceReader.
3 //
4 // Authors:
5 //     Robert Jordan <robertj@gmx.net>
6 //
7
8 using System;
9 using System.Collections;
10 using System.Drawing;
11 using System.IO;
12 using System.Resources;
13 using NUnit.Framework;
14
15 namespace MonoTests.System.Resources
16 {
17         [TestFixture]
18         public class CompatTest
19         {
20                 class Helper
21                 {
22                         public static void TestReader (string fileName)
23                         {
24                                 ResXResourceReader r = new ResXResourceReader (fileName);
25                                 Hashtable h = new Hashtable();
26                                 foreach (DictionaryEntry e in r) {
27                                         h.Add (e.Key, e.Value);
28                                 }
29                                 r.Close ();
30
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");
41                                 Assert.IsNotNull (h["InvalidMimeType"], "#11");
42                                 Assert.IsNotNull (h["Image"], fileName + "#12");
43                                 Assert.AreEqual (typeof (Bitmap), h["Image"].GetType (), fileName + "#13");
44                         }
45                 }
46
47                 [Test]
48                 [Category ("NotWorking")]
49                 public void TestReader ()
50                 {
51                         Helper.TestReader (Path.Combine (Path.Combine ("Test", "System.Resources"), "compat_1_1.resx"));
52                 }
53
54 #if NET_2_0
55                 [Test]
56                 public void TestReader_2_0 ()
57                 {
58                         Helper.TestReader (Path.Combine (Path.Combine ("Test", "System.Resources"), "compat_2_0.resx"));
59                 }
60 #endif
61         }
62 }