2 // ConfigurationExceptionTest.cs
5 // Gert Driesen <drieseng@users.sourceforge.net>
7 // Copyright (C) 2008 Gert Driesen
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30 using System.Configuration;
34 using NUnit.Framework;
36 namespace MonoTests.System.Configuration
39 public class ConfigurationExceptionTest
41 private string foldername;
46 foldername = Path.Combine (Path.GetTempPath (),
47 this.GetType ().FullName);
48 if (!Directory.Exists (foldername))
49 Directory.CreateDirectory (foldername);
53 public void TearDown ()
55 if (Directory.Exists (foldername))
56 Directory.Delete (foldername, true);
60 public void Constructor1 ()
62 ConfigurationException ce = new ConfigurationException ();
63 Assert.IsNotNull (ce.BareMessage, "#1");
64 Assert.IsTrue (ce.BareMessage.IndexOf ("'" + typeof (ConfigurationException).FullName + "'") != -1, "#2:" + ce.BareMessage);
65 Assert.IsNotNull (ce.Data, "#3");
66 Assert.AreEqual (0, ce.Data.Count, "#4");
67 Assert.IsNull (ce.Filename, "#5");
68 Assert.IsNull (ce.InnerException, "#6");
69 Assert.AreEqual (0, ce.Line, "#7");
70 Assert.AreEqual (ce.BareMessage, ce.Message, "#8");
73 [Test] // ctor (String)
74 public void Constructor2 ()
77 ConfigurationException ce;
80 ce = new ConfigurationException (msg);
81 Assert.AreSame (msg, ce.BareMessage, "#A1");
82 Assert.IsNotNull (ce.Data, "#A2");
83 Assert.AreEqual (0, ce.Data.Count, "#A3");
84 Assert.IsNull (ce.Filename, "#A4");
85 Assert.IsNull (ce.InnerException, "#A5");
86 Assert.AreEqual (0, ce.Line, "#A6");
87 Assert.AreSame (msg, ce.Message, "#A7");
90 ce = new ConfigurationException (msg);
92 Assert.AreEqual (new ConfigurationException ().Message, ce.BareMessage, "#B1");
93 Assert.IsNotNull (ce.Data, "#B2");
94 Assert.AreEqual (0, ce.Data.Count, "#B3");
95 Assert.IsNull (ce.Filename, "#B4");
96 Assert.IsNull (ce.InnerException, "#B5");
97 Assert.AreEqual (0, ce.Line, "#B6");
98 Assert.AreEqual (ce.BareMessage, ce.Message, "#B7");
101 [Test] // ctor (String, Exception)
102 public void Constructor3 ()
106 ConfigurationException ce;
109 inner = new Exception ();
110 ce = new ConfigurationException (msg, inner);
111 Assert.AreSame (msg, ce.BareMessage, "#A1");
112 Assert.IsNotNull (ce.Data, "#A2");
113 Assert.AreEqual (0, ce.Data.Count, "#A3");
114 Assert.IsNull (ce.Filename, "#A4");
115 Assert.AreSame (inner, ce.InnerException, "#A5");
116 Assert.AreEqual (0, ce.Line, "#A6");
117 Assert.AreSame (msg, ce.Message, "#A7");
121 ce = new ConfigurationException (msg, inner);
122 Assert.AreEqual (new ConfigurationException ().Message, ce.BareMessage, "#B1");
123 Assert.IsNotNull (ce.Data, "#B2");
124 Assert.AreEqual (0, ce.Data.Count, "#B3");
125 Assert.IsNull (ce.Filename, "#B4");
126 Assert.AreSame (inner, ce.InnerException, "#B5");
127 Assert.AreEqual (0, ce.Line, "#B6");
128 Assert.AreEqual (ce.BareMessage, ce.Message, "#B7");
131 [Test] // ctor (String, XmlNode)
132 public void Constructor4 ()
136 ConfigurationException ce;
139 node = new XmlDocument ();
140 ce = new ConfigurationException (msg, node);
141 Assert.AreSame (msg, ce.BareMessage, "#A1");
142 Assert.IsNotNull (ce.Data, "#A2");
143 Assert.AreEqual (0, ce.Data.Count, "#A3");
144 Assert.AreEqual (string.Empty, ce.Filename, "#A4");
145 Assert.IsNull (ce.InnerException, "#A5");
146 Assert.AreEqual (0, ce.Line, "#A6");
147 Assert.AreSame (msg, ce.Message, "#A7");
151 ce = new ConfigurationException (msg, node);
152 Assert.AreEqual (new ConfigurationException ().Message, ce.BareMessage, "#B1");
153 Assert.IsNotNull (ce.Data, "#B2");
154 Assert.AreEqual (0, ce.Data.Count, "#B3");
155 Assert.AreEqual (string.Empty, ce.Filename, "#B4");
156 Assert.IsNull (ce.InnerException, "#B5");
157 Assert.AreEqual (0, ce.Line, "#B6");
158 Assert.AreEqual (ce.BareMessage, ce.Message, "#B7");
161 [Test] // ctor (String, Exception, XmlNode)
162 public void Constructor5 ()
167 ConfigurationException ce;
170 inner = new Exception ();
171 node = new XmlDocument ();
172 ce = new ConfigurationException (msg, inner, node);
173 Assert.AreSame (msg, ce.BareMessage, "#A1");
174 Assert.IsNotNull (ce.Data, "#A2");
175 Assert.AreEqual (0, ce.Data.Count, "#A3");
176 Assert.AreEqual (string.Empty, ce.Filename, "#A4");
177 Assert.AreSame (inner, ce.InnerException, "#A5");
178 Assert.AreEqual (0, ce.Line, "#A6");
179 Assert.AreSame (msg, ce.Message, "#A7");
184 ce = new ConfigurationException (msg, inner, node);
185 Assert.AreEqual (new ConfigurationException ().Message, ce.BareMessage, "#B1");
186 Assert.IsNotNull (ce.Data, "#B2");
187 Assert.AreEqual (0, ce.Data.Count, "#B3");
188 Assert.AreEqual (string.Empty, ce.Filename, "#B4");
189 Assert.AreSame (inner, ce.InnerException, "#B5");
190 Assert.AreEqual (0, ce.Line, "#B6");
191 Assert.AreEqual (ce.BareMessage, ce.Message, "#B7");
194 [Test] // ctor (String, String, Int32)
195 public void Constructor6 ()
200 ConfigurationException ce;
203 filename = "abc.txt";
205 ce = new ConfigurationException (msg, filename, line);
206 Assert.AreSame (msg, ce.BareMessage, "#A1");
207 Assert.IsNotNull (ce.Data, "#A2");
208 Assert.AreEqual (0, ce.Data.Count, "#A3");
209 Assert.AreSame (filename, ce.Filename, "#A4");
210 Assert.IsNull (ce.InnerException, "#A5");
211 Assert.AreEqual (line, ce.Line, "#A6");
212 Assert.AreEqual ("MSG (abc.txt line 7)", ce.Message, "#A7");
217 ce = new ConfigurationException (msg, filename, line);
218 Assert.AreEqual (new ConfigurationException ().Message, ce.BareMessage, "#B1");
219 Assert.IsNotNull (ce.Data, "#B3");
220 Assert.AreEqual (0, ce.Data.Count, "#B4");
221 Assert.AreSame (filename, ce.Filename, "#B5");
222 Assert.IsNull (ce.InnerException, "#B6");
223 Assert.AreEqual (0, ce.Line, "#B7");
224 Assert.AreEqual (ce.BareMessage, ce.Message, "#B8");
227 filename = "abc.txt";
229 ce = new ConfigurationException (msg, filename, line);
230 Assert.AreEqual (new ConfigurationException ().Message, ce.BareMessage, "#C1");
231 Assert.IsNotNull (ce.Data, "#C2");
232 Assert.AreEqual (0, ce.Data.Count, "#C3");
233 Assert.AreSame (filename, ce.Filename, "#C4");
234 Assert.IsNull (ce.InnerException, "#C5");
235 Assert.AreEqual (5, ce.Line, "#C6");
236 Assert.AreEqual (ce.BareMessage + " (abc.txt line 5)", ce.Message, "#C7");
241 ce = new ConfigurationException (msg, filename, line);
242 Assert.AreSame (msg, ce.BareMessage, "#D1");
243 Assert.IsNotNull (ce.Data, "#D2");
244 Assert.AreEqual (0, ce.Data.Count, "#D3");
245 Assert.AreSame (filename, ce.Filename, "#D4");
246 Assert.IsNull (ce.InnerException, "#D5");
247 Assert.AreEqual (5, ce.Line, "#D6");
248 Assert.AreEqual (msg + " (line 5)", ce.Message, "#D7");
251 filename = "abc.txt";
253 ce = new ConfigurationException (msg, filename, line);
254 Assert.AreSame (msg, ce.BareMessage, "#E1");
255 Assert.IsNotNull (ce.Data, "#E2");
256 Assert.AreEqual (0, ce.Data.Count, "#E3");
257 Assert.AreSame (filename, ce.Filename, "#E4");
258 Assert.IsNull (ce.InnerException, "#E5");
259 Assert.AreEqual (0, ce.Line, "#E6");
260 Assert.AreEqual (msg + " (abc.txt)", ce.Message, "#E7");
265 ce = new ConfigurationException (msg, filename, line);
266 Assert.AreEqual (new ConfigurationException ().Message, ce.BareMessage, "#F1");
267 Assert.IsNotNull (ce.Data, "#F2");
268 Assert.AreEqual (0, ce.Data.Count, "#F3");
269 Assert.AreSame (filename, ce.Filename, "#F4");
270 Assert.IsNull (ce.InnerException, "#F5");
271 Assert.AreEqual (4, ce.Line, "#F6");
272 Assert.AreEqual (ce.BareMessage + " (line 4)", ce.Message, "#F7");
275 filename = string.Empty;
277 ce = new ConfigurationException (msg, filename, line);
278 Assert.AreSame (msg, ce.BareMessage, "#G1");
279 Assert.IsNotNull (ce.Data, "#G2");
280 Assert.AreEqual (0, ce.Data.Count, "#G3");
281 Assert.AreSame (filename, ce.Filename, "#G4");
282 Assert.IsNull (ce.InnerException, "#G5");
283 Assert.AreEqual (0, ce.Line, "#G6");
284 Assert.AreSame (msg, ce.Message, "#G7");
287 filename = "abc.txt";
289 ce = new ConfigurationException (msg, filename, line);
290 Assert.AreSame (msg, ce.BareMessage, "#H1");
291 Assert.IsNotNull (ce.Data, "#H2");
292 Assert.AreEqual (0, ce.Data.Count, "#H3");
293 Assert.AreSame (filename, ce.Filename, "#H4");
294 Assert.IsNull (ce.InnerException, "#H5");
295 Assert.AreEqual (6, ce.Line, "#H6");
296 Assert.AreEqual (msg + " (abc.txt line 6)", ce.Message, "#H7");
299 filename = string.Empty;
301 ce = new ConfigurationException (msg, filename, line);
302 Assert.AreSame (msg, ce.BareMessage, "#I1");
303 Assert.IsNotNull (ce.Data, "#I2");
304 Assert.AreEqual (0, ce.Data.Count, "#I3");
305 Assert.AreSame (filename, ce.Filename, "#I4");
306 Assert.IsNull (ce.InnerException, "#I5");
307 Assert.AreEqual (6, ce.Line, "#I6");
308 Assert.AreEqual (msg + " (line 6)", ce.Message, "#I7");
311 filename = string.Empty;
313 ce = new ConfigurationException (msg, filename, line);
314 Assert.AreSame (msg, ce.BareMessage, "#J1");
315 Assert.IsNotNull (ce.Data, "#J2");
316 Assert.AreEqual (0, ce.Data.Count, "#J3");
317 Assert.AreSame (filename, ce.Filename, "#J4");
318 Assert.IsNull (ce.InnerException, "#J5");
319 Assert.AreEqual (4, ce.Line, "#J6");
320 Assert.AreEqual (msg + " (line 4)", ce.Message, "#J7");
323 filename = string.Empty;
325 ce = new ConfigurationException (msg, filename, line);
326 Assert.AreSame (msg, ce.BareMessage, "#K1");
327 Assert.IsNotNull (ce.Data, "#K2");
328 Assert.AreEqual (0, ce.Data.Count, "#K3");
329 Assert.AreSame (filename, ce.Filename, "#K4");
330 Assert.IsNull (ce.InnerException, "#K5");
331 Assert.AreEqual (0, ce.Line, "#K6");
332 Assert.AreEqual (msg, ce.Message, "#K7");
335 [Test] // ctor (String, Exception, String, Int32)
336 public void Constructor7 ()
342 ConfigurationException ce;
345 inner = new Exception ();
346 filename = "abc.txt";
348 ce = new ConfigurationException (msg, inner, filename, line);
349 Assert.AreSame (msg, ce.BareMessage, "#A1");
350 Assert.IsNotNull (ce.Data, "#A2");
351 Assert.AreEqual (0, ce.Data.Count, "#A3");
352 Assert.AreSame (filename, ce.Filename, "#A4");
353 Assert.AreSame (inner, ce.InnerException, "#A5");
354 Assert.AreEqual (line, ce.Line, "#A6");
355 Assert.AreEqual (msg + " (abc.txt line 7)", ce.Message, "#A7");
361 ce = new ConfigurationException (msg, inner, filename, line);
362 Assert.AreEqual (new ConfigurationException ().Message, ce.BareMessage, "#B1");
363 Assert.IsNotNull (ce.Data, "#B2");
364 Assert.AreEqual (0, ce.Data.Count, "#B3");
365 Assert.AreSame (filename, ce.Filename, "#B4");
366 Assert.AreSame (inner, ce.InnerException, "#B5");
367 Assert.AreEqual (0, ce.Line, "#B6");
368 Assert.AreEqual (ce.BareMessage, ce.Message, "#B7");
371 inner = new Exception ();
374 ce = new ConfigurationException (msg, inner, filename, line);
375 Assert.AreEqual (new ConfigurationException ().Message, ce.BareMessage, "#C1");
376 Assert.IsNotNull (ce.Data, "#C2");
377 Assert.AreEqual (0, ce.Data.Count, "#C3");
378 Assert.AreSame (filename, ce.Filename, "#C4");
379 Assert.AreSame (inner, ce.InnerException, "#C5");
380 Assert.AreEqual (line, ce.Line, "#C6");
381 Assert.AreEqual (ce.BareMessage + " (line 7)", ce.Message, "#C7");
384 inner = new Exception ();
385 filename = string.Empty;
387 ce = new ConfigurationException (msg, inner, filename, line);
388 Assert.AreSame (msg, ce.BareMessage, "#D1");
389 Assert.IsNotNull (ce.Data, "#D2");
390 Assert.AreEqual (0, ce.Data.Count, "#D3");
391 Assert.AreSame (filename, ce.Filename, "#D4");
392 Assert.AreSame (inner, ce.InnerException, "#D5");
393 Assert.AreEqual (line, ce.Line, "#D6");
394 Assert.AreEqual (" (line 7)", ce.Message, "#D7");
397 inner = new Exception ();
398 filename = "abc.txt";
400 ce = new ConfigurationException (msg, inner, filename, line);
401 Assert.AreSame (msg, ce.BareMessage, "#E1");
402 Assert.IsNotNull (ce.Data, "#E2");
403 Assert.AreEqual (0, ce.Data.Count, "#E3");
404 Assert.AreSame (filename, ce.Filename, "#E4");
405 Assert.AreSame (inner, ce.InnerException, "#E5");
406 Assert.AreEqual (line, ce.Line, "#E6");
407 Assert.AreEqual (" (abc.txt line 7)", ce.Message, "#E7");
410 inner = new Exception ();
413 ce = new ConfigurationException (msg, inner, filename, line);
414 Assert.AreSame (msg, ce.BareMessage, "#F1");
415 Assert.IsNotNull (ce.Data, "#F2");
416 Assert.AreEqual (0, ce.Data.Count, "#F3");
417 Assert.AreSame (filename, ce.Filename, "#F4");
418 Assert.AreSame (inner, ce.InnerException, "#F5");
419 Assert.AreEqual (line, ce.Line, "#F6");
420 Assert.AreEqual (ce.BareMessage + " (line 7)", ce.Message, "#F7");
423 inner = new Exception ();
424 filename = "abc.txt";
426 ce = new ConfigurationException (msg, inner, filename, line);
427 Assert.AreEqual (new ConfigurationException ().Message, ce.BareMessage, "#G1");
428 Assert.IsNotNull (ce.Data, "#G2");
429 Assert.AreEqual (0, ce.Data.Count, "#G3");
430 Assert.AreSame (filename, ce.Filename, "#G4");
431 Assert.AreSame (inner, ce.InnerException, "#G5");
432 Assert.AreEqual (line, ce.Line, "#G6");
433 Assert.AreEqual (ce.BareMessage + " (abc.txt line 7)", ce.Message, "#G7");