922458b7f1a6d880fc08ab3f7426b75b97b645f9
[mono.git] / mcs / class / System.Data / Test / System.Data.OleDb / OleDbCommandTest.cs
1 //
2 // OleDbCommandTest.cs - NUnit Test Cases for testing
3 // System.Data.OleDb.OleDbCommand
4 // 
5 // Author:
6 //      Gert Driesen (drieseng@users.sourceforge.net)
7 //
8 // Copyright (c) 2007 Gert Driesen
9 //
10 // Permission is hereby granted, free of charge, to any person obtaining
11 // a copy of this software and associated documentation files (the
12 // "Software"), to deal in the Software without restriction, including
13 // without limitation the rights to use, copy, modify, merge, publish,
14 // distribute, sublicense, and/or sell copies of the Software, and to
15 // permit persons to whom the Software is furnished to do so, subject to
16 // the following conditions:
17 //
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
20 //
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 //
29
30 using System.Data;
31 using System.Data.OleDb;
32
33 using NUnit.Framework;
34
35 namespace MonoTests.System.Data.OleDb
36 {
37         [TestFixture]
38         public class OleDbCommandTest
39         {
40                 const string COMMAND_TEXT = "SELECT * FROM Authors";
41
42                 [Test] // OleDbCommand ()
43                 public void Constructor1 ()
44                 {
45                         OleDbCommand cmd = new OleDbCommand ();
46                         Assert.AreEqual (string.Empty, cmd.CommandText, "#1");
47                         Assert.AreEqual (30, cmd.CommandTimeout, "#2");
48                         Assert.AreEqual (CommandType.Text, cmd.CommandType, "#3");
49                         Assert.IsNull (cmd.Connection, "#4");
50                         Assert.IsNull (cmd.Container, "#5");
51                         Assert.IsTrue (cmd.DesignTimeVisible, "#6");
52                         Assert.IsNotNull (cmd.Parameters, "#7");
53                         Assert.AreEqual (0, cmd.Parameters.Count, "#8");
54                         Assert.IsNull (cmd.Site, "#9");
55                         Assert.IsNull (cmd.Transaction, "#10");
56                         Assert.AreEqual (UpdateRowSource.Both, cmd.UpdatedRowSource, "#11");
57                 }
58
59                 [Test] // OleDbCommand (string)
60                 public void Constructor2 ()
61                 {
62                         OleDbCommand cmd = new OleDbCommand (COMMAND_TEXT);
63                         Assert.AreEqual (COMMAND_TEXT, cmd.CommandText, "#A1");
64                         Assert.AreEqual (30, cmd.CommandTimeout, "#A2");
65                         Assert.AreEqual (CommandType.Text, cmd.CommandType, "#A3");
66                         Assert.IsNull (cmd.Connection, "#A4");
67                         Assert.IsNull (cmd.Container, "#A5");
68                         Assert.IsTrue (cmd.DesignTimeVisible, "#A6");
69                         Assert.IsNotNull (cmd.Parameters, "#A7");
70                         Assert.AreEqual (0, cmd.Parameters.Count, "#A8");
71                         Assert.IsNull (cmd.Site, "#A9");
72                         Assert.IsNull (cmd.Transaction, "#A10");
73                         Assert.AreEqual (UpdateRowSource.Both, cmd.UpdatedRowSource, "#A11");
74
75                         cmd = new OleDbCommand ((string) null);
76                         Assert.AreEqual (string.Empty, cmd.CommandText, "#B1");
77                         Assert.AreEqual (30, cmd.CommandTimeout, "#B2");
78                         Assert.AreEqual (CommandType.Text, cmd.CommandType, "#B3");
79                         Assert.IsNull (cmd.Connection, "#B4");
80                         Assert.IsNull (cmd.Container, "#B5");
81                         Assert.IsTrue (cmd.DesignTimeVisible, "#B6");
82                         Assert.IsNotNull (cmd.Parameters, "#B7");
83                         Assert.AreEqual (0, cmd.Parameters.Count, "#B8");
84                         Assert.IsNull (cmd.Site, "#B9");
85                         Assert.IsNull (cmd.Transaction, "#B10");
86                         Assert.AreEqual (UpdateRowSource.Both, cmd.UpdatedRowSource, "#B11");
87                 }
88
89                 [Test] // OleDbCommand (string, OleDbConnection)
90                 public void Constructor3 ()
91                 {
92                         OleDbConnection conn = new OleDbConnection ();
93                         OleDbCommand cmd;
94
95                         cmd = new OleDbCommand (COMMAND_TEXT, conn);
96                         Assert.AreEqual (COMMAND_TEXT, cmd.CommandText, "#A1");
97                         Assert.AreEqual (30, cmd.CommandTimeout, "#A2");
98                         Assert.AreEqual (CommandType.Text, cmd.CommandType, "#A3");
99                         Assert.AreSame (conn, cmd.Connection, "#A4");
100                         Assert.IsNull (cmd.Container, "#A5");
101                         Assert.IsTrue (cmd.DesignTimeVisible, "#A6");
102                         Assert.IsNotNull (cmd.Parameters, "#A7");
103                         Assert.AreEqual (0, cmd.Parameters.Count, "#A8");
104                         Assert.IsNull (cmd.Site, "#A9");
105                         Assert.IsNull (cmd.Transaction, "#A10");
106                         Assert.AreEqual (UpdateRowSource.Both, cmd.UpdatedRowSource, "#A11");
107
108                         cmd = new OleDbCommand ((string) null, conn);
109                         Assert.AreEqual (string.Empty, cmd.CommandText, "#B1");
110                         Assert.AreEqual (30, cmd.CommandTimeout, "#B2");
111                         Assert.AreEqual (CommandType.Text, cmd.CommandType, "#B3");
112                         Assert.AreSame (conn, cmd.Connection, "#B4");
113                         Assert.IsNull (cmd.Container, "#B5");
114                         Assert.IsTrue (cmd.DesignTimeVisible, "#B6");
115                         Assert.IsNotNull (cmd.Parameters, "#B7");
116                         Assert.AreEqual (0, cmd.Parameters.Count, "#B8");
117                         Assert.IsNull (cmd.Site, "#B9");
118                         Assert.IsNull (cmd.Transaction, "#B10");
119                         Assert.AreEqual (UpdateRowSource.Both, cmd.UpdatedRowSource, "#B11");
120
121                         cmd = new OleDbCommand (COMMAND_TEXT, (OleDbConnection) null);
122                         Assert.AreEqual (COMMAND_TEXT, cmd.CommandText, "#C1");
123                         Assert.AreEqual (30, cmd.CommandTimeout, "#C2");
124                         Assert.AreEqual (CommandType.Text, cmd.CommandType, "#C3");
125                         Assert.IsNull (cmd.Connection, "#C4");
126                         Assert.IsNull (cmd.Container, "#C5");
127                         Assert.IsTrue (cmd.DesignTimeVisible, "#C6");
128                         Assert.IsNotNull (cmd.Parameters, "#C7");
129                         Assert.AreEqual (0, cmd.Parameters.Count, "#C8");
130                         Assert.IsNull (cmd.Site, "#C9");
131                         Assert.IsNull (cmd.Transaction, "#C10");
132                         Assert.AreEqual (UpdateRowSource.Both, cmd.UpdatedRowSource, "#C11");
133                 }
134
135                 [Test] // OleDbCommand (string, OleDbConnection, OleDbTransaction)
136                 public void Constructor4 ()
137                 {
138                         OleDbConnection conn = new OleDbConnection ();
139                         OleDbCommand cmd;
140
141                         cmd = new OleDbCommand (COMMAND_TEXT, conn, (OleDbTransaction) null);
142                         Assert.AreEqual (COMMAND_TEXT, cmd.CommandText, "#A1");
143                         Assert.AreEqual (30, cmd.CommandTimeout, "#A2");
144                         Assert.AreEqual (CommandType.Text, cmd.CommandType, "#A3");
145                         Assert.AreSame (conn, cmd.Connection, "#A4");
146                         Assert.IsNull (cmd.Container, "#A5");
147                         Assert.IsTrue (cmd.DesignTimeVisible, "#A6");
148                         Assert.IsNotNull (cmd.Parameters, "#A7");
149                         Assert.AreEqual (0, cmd.Parameters.Count, "#A8");
150                         Assert.IsNull (cmd.Site, "#A9");
151                         Assert.IsNull (cmd.Transaction, "#A10");
152                         Assert.AreEqual (UpdateRowSource.Both, cmd.UpdatedRowSource, "#A11");
153
154                         cmd = new OleDbCommand ((string) null, conn, (OleDbTransaction) null);
155                         Assert.AreEqual (string.Empty, cmd.CommandText, "#B1");
156                         Assert.AreEqual (30, cmd.CommandTimeout, "#B2");
157                         Assert.AreEqual (CommandType.Text, cmd.CommandType, "#B3");
158                         Assert.AreSame (conn, cmd.Connection, "#B4");
159                         Assert.IsNull (cmd.Container, "#B5");
160                         Assert.IsTrue (cmd.DesignTimeVisible, "#B6");
161                         Assert.IsNotNull (cmd.Parameters, "#B7");
162                         Assert.AreEqual (0, cmd.Parameters.Count, "#B8");
163                         Assert.IsNull (cmd.Site, "#B9");
164                         Assert.IsNull (cmd.Transaction, "#B10");
165                         Assert.AreEqual (UpdateRowSource.Both, cmd.UpdatedRowSource, "#B11");
166
167                         cmd = new OleDbCommand (COMMAND_TEXT, (OleDbConnection) null, (OleDbTransaction) null);
168                         Assert.AreEqual (COMMAND_TEXT, cmd.CommandText, "#C1");
169                         Assert.AreEqual (30, cmd.CommandTimeout, "#C2");
170                         Assert.AreEqual (CommandType.Text, cmd.CommandType, "#C3");
171                         Assert.IsNull (cmd.Connection, "#C4");
172                         Assert.IsNull (cmd.Container, "#C5");
173                         Assert.IsTrue (cmd.DesignTimeVisible, "#C6");
174                         Assert.IsNotNull (cmd.Parameters, "#C7");
175                         Assert.AreEqual (0, cmd.Parameters.Count, "#C8");
176                         Assert.IsNull (cmd.Site, "#C9");
177                         Assert.IsNull (cmd.Transaction, "#C10");
178                         Assert.AreEqual (UpdateRowSource.Both, cmd.UpdatedRowSource, "#C11");
179                 }
180
181                 [Test]
182                 public void CommandText ()
183                 {
184                         OleDbCommand cmd = new OleDbCommand ();
185                         cmd.CommandText = COMMAND_TEXT;
186                         Assert.AreSame (COMMAND_TEXT, cmd.CommandText, "#1");
187                         cmd.CommandText = null;
188                         Assert.AreEqual (string.Empty, cmd.CommandText, "#2");
189                         cmd.CommandText = COMMAND_TEXT;
190                         Assert.AreSame (COMMAND_TEXT, cmd.CommandText, "#3");
191                         cmd.CommandText = string.Empty;
192                         Assert.AreEqual (string.Empty, cmd.CommandText, "#4");
193                 }
194         }
195 }