2 // MonoTests.System.Resources.ResourceReaderTest.cs
\r
5 // Nick Drochak (ndrochak@gol.com)
\r
7 // (C) 2001 Nick Drochak II
\r
8 // Copyright (C) 2004 Novell (http://www.novell.com)
\r
12 using System.Collections;
\r
14 using System.Reflection;
\r
15 using System.Resources;
\r
16 using NUnit.Framework;
\r
18 namespace MonoTests.System.Resources {
\r
21 public class ResourceReaderTest : Assertion {
\r
22 private static string m_ResourceFile;
\r
23 private static string m_BadResourceFile;
\r
26 public void FixtureSetUp ()
\r
28 char ds = Path.DirectorySeparatorChar;
\r
30 FileInfo code_base = new FileInfo (Assembly.GetExecutingAssembly ().Location);
\r
31 string base_path = code_base.Directory.FullName + ds + "Test" + ds + "resources" + ds;
\r
32 m_ResourceFile = base_path + "MyResources.resources";
\r
33 m_BadResourceFile = base_path + "Empty.resources";
\r
35 m_ResourceFile = "resources" + ds + "MyResources.resources";
\r
36 m_BadResourceFile = "resources" + ds + "Empty.resources";
\r
41 [ExpectedException (typeof (ArgumentNullException))]
\r
42 public void ConstructorString_Null ()
\r
45 ResourceReader r = new ResourceReader (s);
\r
49 [ExpectedException (typeof (ArgumentException))]
\r
50 public void ConstructorString_Empty ()
\r
52 ResourceReader r = new ResourceReader (String.Empty);
\r
57 [ExpectedException (typeof (FileNotFoundException))]
\r
58 public void ConstructorString_NotFound ()
\r
60 // use a file name that is *very* unlikely to exsist
\r
61 ResourceReader r = new ResourceReader("j38f8axvnn9h38hfa9nxn93f8hav4zvag87vvah32o");
\r
65 [ExpectedException (typeof (ArgumentException))]
\r
66 public void ConstructorString_Bad ()
\r
68 ResourceReader r = new ResourceReader(m_BadResourceFile);
\r
72 public void ConstructorString ()
\r
74 if (!File.Exists(m_ResourceFile)) {
\r
75 Fail ("Resource file is not where it should be:" + m_ResourceFile);
\r
77 ResourceReader r = new ResourceReader(m_ResourceFile);
\r
78 AssertNotNull ("ResourceReader", r);
\r
83 [ExpectedException (typeof (ArgumentNullException))]
\r
84 public void ConstructorStream_Null ()
\r
87 ResourceReader r = new ResourceReader (s);
\r
88 Fail("Should throw exception on null");
\r
92 [ExpectedException (typeof (ArgumentException))]
\r
93 public void ConstructorStream_Closed ()
\r
95 Stream stream = new FileStream (m_ResourceFile, FileMode.Open);
\r
97 ResourceReader r = new ResourceReader (stream);
\r
101 public void Stream ()
\r
103 Stream stream = new FileStream (m_ResourceFile, FileMode.Open);
\r
104 ResourceReader r = new ResourceReader (stream);
\r
105 AssertNotNull ("ResourceReader", r);
\r
110 public void Close ()
\r
112 Stream stream = new FileStream (m_ResourceFile, FileMode.Open);
\r
113 ResourceReader r = new ResourceReader (stream);
\r
116 stream = new FileStream (m_ResourceFile, FileMode.Open);
\r
117 AssertNotNull ("FileStream", stream);
\r
122 public void Enumerator ()
\r
124 Stream stream = new FileStream (m_ResourceFile, FileMode.Open);
\r
125 ResourceReader reader = new ResourceReader (stream);
\r
127 IDictionaryEnumerator en = reader.GetEnumerator();
\r
128 // Goes through the enumerator, printing out the key and value pairs.
\r
129 while (en.MoveNext()) {
\r
130 DictionaryEntry de = (DictionaryEntry)en.Current;
\r
131 Assert("Current.Key should not be empty",String.Empty != (string)de.Key);
\r
132 Assert("Current.Value should not be empty",String.Empty != (string)de.Value);
\r
133 Assert("Current.Value should not be empty",String.Empty != (string)de.Value);
\r
134 Assert("Entry.Key should not be empty",String.Empty != (string)en.Key);
\r
135 Assert("Entry.Value should not be empty",String.Empty != (string)en.Value);
\r
139 } // class ResourceReaderTest
\r
140 } // namespace MonoTests.System.Resources
\r