Merge pull request #1304 from slluis/mac-proxy-autoconfig
[mono.git] / mcs / class / System.Data / Test / System.Data / XmlDataLoaderTest.cs
1 // Authors:
2 //   Nagappan A <anagappan@novell.com>
3 //
4 // Copyright (c) 2007 Novell, Inc
5 //
6 // Permission is hereby granted, free of charge, to any person obtaining
7 // a copy of this software and associated documentation files (the
8 // "Software"), to deal in the Software without restriction, including
9 // without limitation the rights to use, copy, modify, merge, publish,
10 // distribute, sublicense, and/or sell copies of the Software, and to
11 // permit persons to whom the Software is furnished to do so, subject to
12 // the following conditions:
13 //
14 // The above copyright notice and this permission notice shall be
15 // included in all copies or substantial portions of the Software.
16 //
17 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 //
25
26 #if NET_2_0
27 using System;
28 using System.Collections;
29 using System.Data;
30 using System.IO;
31 using System.Xml;
32
33 using NUnit.Framework;
34
35 namespace MonoTests.System.Data
36 {
37         [TestFixture]
38         public class XmlDataLoaderTest
39         {
40                 string tempFile;
41
42                 [SetUp]
43                 public void SetUp ()
44                 {
45                         tempFile = Path.GetTempFileName ();
46                 }
47
48                 [TearDown]
49                 public void TearDown ()
50                 {
51                         if (tempFile != null)
52                                 File.Delete (tempFile);
53                 }
54
55                 [Test]
56                 public void XmlLoadTest ()
57                 {
58                         DataSet ds;
59
60                         ds = Create ();
61                         DataTable dt = ds.Tables [0];
62                         DataRow dr = dt.NewRow ();
63                         dr["CustName"] = DBNull.Value;
64                         dr["Type"] = typeof (DBNull);
65                         dt.Rows.Add (dr);
66                         ds.WriteXml (tempFile, XmlWriteMode.DiffGram);
67
68                         ds = Create ();
69                         ds.ReadXml (tempFile, XmlReadMode.DiffGram);
70                 }
71
72                 private static DataSet Create ()
73                 {
74                         DataSet ds = new DataSet ("Set");
75                         DataTable dt = new DataTable ("Test");
76                         dt.Columns.Add ("CustName", typeof (String));
77                         dt.Columns.Add ("Type", typeof (Type));
78                         ds.Tables.Add (dt);
79                         return ds;
80                 }
81         }
82 }
83 #endif