[LoongArch64] Part-5:add loongarch support in some files for LoongArch64. (#21769)
[mono-project.git] / mcs / class / System.Data / Test / System.Data.Common / DataTableMappingCollectionTest.cs
bloba481c27af3204141bc09a905cafcfda6f28099af
1 // DataTableMappingCollectionTest.cs - NUnit Test Cases for Testing the
2 // DataTableMappingCollection class
3 //
4 // Author: Ameya Sailesh Gargesh (ameya_13@yahoo.com)
5 //
6 // (C) Ameya Gargesh
8 //
9 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
11 // Permission is hereby granted, free of charge, to any person obtaining
12 // a copy of this software and associated documentation files (the
13 // "Software"), to deal in the Software without restriction, including
14 // without limitation the rights to use, copy, modify, merge, publish,
15 // distribute, sublicense, and/or sell copies of the Software, and to
16 // permit persons to whom the Software is furnished to do so, subject to
17 // the following conditions:
18 //
19 // The above copyright notice and this permission notice shall be
20 // included in all copies or substantial portions of the Software.
21 //
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
26 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
27 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32 using NUnit.Framework;
33 using System;
34 using System.Data;
35 using System.Data.Common;
36 namespace MonoTests.System.Data.Common
38 [TestFixture]
39 public class DataTableMappingCollectionTest
41 DataTableMappingCollection tableMapCollection;
42 DataTableMapping [] tabs;
43 [SetUp]
44 public void GetReady()
46 tabs=new DataTableMapping[5];
47 tabs[0]=new DataTableMapping("sourceCustomers", "dataSetCustomers");
48 tabs[1]=new DataTableMapping("sourceEmployees", "dataSetEmployees");
49 tabs[2]=new DataTableMapping("sourceBooks", "dataSetBooks");
50 tabs[3]=new DataTableMapping("sourceStore", "dataSetStore");
51 tabs[4]=new DataTableMapping("sourceInventory", "dataSetInventory");
52 tableMapCollection=new DataTableMappingCollection();
55 [TearDown]
56 public void Clean()
58 tableMapCollection.Clear();
61 [Test]
62 public void Add()
64 int t=tableMapCollection.Add((Object)tabs[0]);
65 Assert.AreEqual(0, t, "test1");
66 bool eq1=tabs[0].Equals(tableMapCollection[0]);
67 Assert.AreEqual(true, eq1, "test2");
68 Assert.AreEqual(1, tableMapCollection.Count, "test3");
69 DataTableMapping tab2;
70 tab2=tableMapCollection.Add("sourceEmployees", "dataSetEmployees");
71 bool eq2=tab2.Equals(tableMapCollection[1]);
72 Assert.AreEqual(true, eq2, "test4");
73 Assert.AreEqual(2, tableMapCollection.Count, "test5");
76 [Test]
77 [ExpectedException(typeof(InvalidCastException))]
78 public void AddException1()
80 DataTableMappingCollection c=new DataTableMappingCollection();
81 tableMapCollection.Add((Object)c);
84 [Test]
85 public void AddRange()
87 tableMapCollection.Add(new DataTableMapping("sourceFactory", "dataSetFactory"));
88 Assert.AreEqual(1, tableMapCollection.Count, "test1");
89 tableMapCollection.AddRange(tabs);
90 Assert.AreEqual(6, tableMapCollection.Count, "test2");
91 bool eq;
92 eq=tabs[0].Equals(tableMapCollection[1]);
93 Assert.AreEqual(true, eq, "test3");
94 eq=tabs[1].Equals(tableMapCollection[2]);
95 Assert.AreEqual(true, eq, "test4");
96 eq=tabs[0].Equals(tableMapCollection[0]);
97 Assert.AreEqual(false, eq, "test5");
98 eq=tabs[1].Equals(tableMapCollection[0]);
99 Assert.AreEqual(false, eq, "test6");
102 [Test]
103 public void Clear()
105 DataTableMapping tab1=new DataTableMapping("sourceSuppliers", "dataSetSuppliers");
106 tableMapCollection.Add((Object)tab1);
107 Assert.AreEqual(1, tableMapCollection.Count, "test1");
108 tableMapCollection.Clear();
109 Assert.AreEqual(0, tableMapCollection.Count, "test2");
110 tableMapCollection.AddRange(tabs);
111 Assert.AreEqual(5, tableMapCollection.Count, "test3");
112 tableMapCollection.Clear();
113 Assert.AreEqual(0, tableMapCollection.Count, "test4");
116 [Test]
117 public void Contains()
119 DataTableMapping tab1=new DataTableMapping("sourceCustomers", "dataSetCustomers");
120 tableMapCollection.AddRange(tabs);
121 bool eq;
122 eq=tableMapCollection.Contains((Object)tabs[0]);
123 Assert.AreEqual(true, eq, "test1");
124 eq=tableMapCollection.Contains((Object)tabs[1]);
125 Assert.AreEqual(true, eq, "test2");
126 eq=tableMapCollection.Contains((Object)tab1);
127 Assert.AreEqual(false, eq, "test3");
128 eq=tableMapCollection.Contains(tabs[0].SourceTable);
129 Assert.AreEqual(true, eq, "test4");
130 eq=tableMapCollection.Contains(tabs[1].SourceTable);
131 Assert.AreEqual(true, eq, "test5");
132 eq=tableMapCollection.Contains(tab1.SourceTable);
133 Assert.AreEqual(true, eq, "test6");
134 eq=tableMapCollection.Contains(tabs[0].DataSetTable);
135 Assert.AreEqual(false, eq, "test7");
136 eq=tableMapCollection.Contains(tabs[1].DataSetTable);
137 Assert.AreEqual(false, eq, "test8");
138 eq=tableMapCollection.Contains(tab1.DataSetTable);
139 Assert.AreEqual(false, eq, "test9");
142 [Test]
143 public void CopyTo()
145 DataTableMapping [] tabcops=new DataTableMapping[5];
146 tableMapCollection.AddRange(tabs);
147 tableMapCollection.CopyTo(tabcops, 0);
148 bool eq;
149 for (int i=0;i<5;i++)
151 eq=tableMapCollection[i].Equals(tabcops[i]);
152 Assert.AreEqual (true, eq, "test1" + i);
154 tabcops=null;
155 tabcops=new DataTableMapping[7];
156 tableMapCollection.CopyTo(tabcops, 2);
157 for (int i=0;i<5;i++)
159 eq=tableMapCollection[i].Equals(tabcops[i+2]);
160 Assert.AreEqual (true, eq, "test2" + i);
162 eq=tableMapCollection[0].Equals(tabcops[0]);
163 Assert.AreEqual (false, eq, "test31");
164 eq=tableMapCollection[0].Equals(tabcops[1]);
165 Assert.AreEqual (false, eq, "test32");
168 [Test]
169 public void Equals()
171 // DataTableMappingCollection collect2=new DataTableMappingCollection();
172 tableMapCollection.AddRange(tabs);
173 // collect2.AddRange(tabs);
174 DataTableMappingCollection copy1;
175 copy1=tableMapCollection;
177 // Assert.AreEqual(false, tableMapCollection.Equals(collect2), "test1");
178 Assert.AreEqual(true, tableMapCollection.Equals(copy1), "test2");
179 // Assert.AreEqual(false, collect2.Equals(tableMapCollection), "test3");
180 Assert.AreEqual(true, copy1.Equals(tableMapCollection), "test4");
181 // Assert.AreEqual(false, collect2.Equals(copy1), "test5");
182 Assert.AreEqual(true, copy1.Equals(tableMapCollection), "test6");
183 Assert.AreEqual(true, tableMapCollection.Equals(tableMapCollection), "test7");
184 // Assert.AreEqual(true, collect2.Equals(collect2), "test8");
185 Assert.AreEqual(true, copy1.Equals(copy1), "test9");
187 // Assert.AreEqual(false, Object.Equals(collect2, tableMapCollection), "test10");
188 Assert.AreEqual(true, Object.Equals(copy1, tableMapCollection), "test11");
189 // Assert.AreEqual(false, Object.Equals(tableMapCollection, collect2), "test12");
190 Assert.AreEqual(true, Object.Equals(tableMapCollection, copy1), "test13");
191 // Assert.AreEqual(false, Object.Equals(copy1, collect2), "test14");
192 Assert.AreEqual(true, Object.Equals(tableMapCollection, copy1), "test15");
193 Assert.AreEqual(true, Object.Equals(tableMapCollection, tableMapCollection), "test16");
194 // Assert.AreEqual(true, Object.Equals(collect2, collect2), "test17");
195 Assert.AreEqual(true, Object.Equals(copy1, copy1), "test18");
196 // Assert.AreEqual(false, Object.Equals(tableMapCollection, collect2), "test10");
197 Assert.AreEqual(true, Object.Equals(tableMapCollection, copy1), "test11");
198 // Assert.AreEqual(false, Object.Equals(collect2, tableMapCollection), "test12");
199 Assert.AreEqual(true, Object.Equals(copy1, tableMapCollection), "test13");
200 // Assert.AreEqual(false, Object.Equals(collect2, copy1), "test14");
201 Assert.AreEqual(true, Object.Equals(copy1, tableMapCollection), "test15");
204 [Test]
205 public void GetByDataSetTable()
207 tableMapCollection.AddRange(tabs);
208 bool eq;
209 DataTableMapping tab1;
210 tab1=tableMapCollection.GetByDataSetTable("dataSetCustomers");
211 eq=(tab1.DataSetTable.Equals("dataSetCustomers") && tab1.SourceTable.Equals("sourceCustomers"));
212 Assert.AreEqual(true, eq, "test1");
213 tab1=tableMapCollection.GetByDataSetTable("dataSetEmployees");
214 eq=(tab1.DataSetTable.Equals("dataSetEmployees") && tab1.SourceTable.Equals("sourceEmployees"));
215 Assert.AreEqual(true, eq, "test2");
217 tab1=tableMapCollection.GetByDataSetTable("datasetcustomers");
218 eq=(tab1.DataSetTable.Equals("dataSetCustomers") && tab1.SourceTable.Equals("sourceCustomers"));
219 Assert.AreEqual(true, eq, "test3");
220 tab1=tableMapCollection.GetByDataSetTable("datasetemployees");
221 eq=(tab1.DataSetTable.Equals("dataSetEmployees") && tab1.SourceTable.Equals("sourceEmployees"));
222 Assert.AreEqual(true, eq, "test4");
226 [Test]
227 public void GetTableMappingBySchemaAction()
229 tableMapCollection.AddRange(tabs);
230 bool eq;
231 DataTableMapping tab1;
232 tab1=DataTableMappingCollection.GetTableMappingBySchemaAction(tableMapCollection, "sourceCustomers", "dataSetCustomers", MissingMappingAction.Passthrough);
233 eq=(tab1.DataSetTable.Equals("dataSetCustomers") && tab1.SourceTable.Equals("sourceCustomers"));
234 Assert.AreEqual(true, eq, "test1");
235 tab1=DataTableMappingCollection.GetTableMappingBySchemaAction(tableMapCollection, "sourceEmployees", "dataSetEmployees", MissingMappingAction.Passthrough);
236 eq=(tab1.DataSetTable.Equals("dataSetEmployees") && tab1.SourceTable.Equals("sourceEmployees"));
237 Assert.AreEqual(true, eq, "test2");
239 tab1=DataTableMappingCollection.GetTableMappingBySchemaAction(tableMapCollection, "sourceData", "dataSetData", MissingMappingAction.Passthrough);
240 eq=(tab1.DataSetTable.Equals("sourceData") && tab1.SourceTable.Equals("dataSetData"));
241 Assert.AreEqual(false, eq, "test3");
242 eq=tableMapCollection.Contains(tab1);
243 Assert.AreEqual(false, eq, "test4");
244 tab1=DataTableMappingCollection.GetTableMappingBySchemaAction(tableMapCollection, "sourceData", "dataSetData", MissingMappingAction.Ignore);
245 Assert.AreEqual(null, tab1, "test5");
248 [Test]
249 [ExpectedException(typeof(InvalidOperationException))]
250 public void GetTableMappingBySchemaActionException1()
252 DataTableMappingCollection.GetTableMappingBySchemaAction(tableMapCollection, "sourceCustomers", "dataSetCustomers", MissingMappingAction.Error);
255 [Test]
256 public void IndexOf()
258 tableMapCollection.AddRange(tabs);
259 int ind;
260 ind=tableMapCollection.IndexOf(tabs[0]);
261 Assert.AreEqual(0, ind, "test1");
262 ind=tableMapCollection.IndexOf(tabs[1]);
263 Assert.AreEqual(1, ind, "test2");
265 ind=tableMapCollection.IndexOf(tabs[0].SourceTable);
266 Assert.AreEqual(0, ind, "test3");
267 ind=tableMapCollection.IndexOf(tabs[1].SourceTable);
268 Assert.AreEqual(1, ind, "test4");
271 [Test]
272 public void IndexOfDataSetTable()
274 tableMapCollection.AddRange(tabs);
275 int ind;
276 ind=tableMapCollection.IndexOfDataSetTable(tabs[0].DataSetTable);
277 Assert.AreEqual(0, ind, "test1");
278 ind=tableMapCollection.IndexOfDataSetTable(tabs[1].DataSetTable);
279 Assert.AreEqual(1, ind, "test2");
281 ind=tableMapCollection.IndexOfDataSetTable("datasetcustomers");
282 Assert.AreEqual(0, ind, "test3");
283 ind=tableMapCollection.IndexOfDataSetTable("datasetemployees");
284 Assert.AreEqual(1, ind, "test4");
286 ind=tableMapCollection.IndexOfDataSetTable("sourcedeter");
287 Assert.AreEqual(-1, ind, "test5");
290 [Test]
291 public void Insert()
293 tableMapCollection.AddRange(tabs);
294 DataTableMapping mymap=new DataTableMapping("sourceTestAge", "datatestSetAge");
295 tableMapCollection.Insert(3, mymap);
296 int ind=tableMapCollection.IndexOfDataSetTable("datatestSetAge");
297 Assert.AreEqual(3, ind, "test1");
300 [Test]
301 [Ignore ("This test is invalid; a mapping in a mapcollection must be identical.")]
302 public void Remove()
304 tableMapCollection.AddRange(tabs);
305 DataTableMapping mymap=new DataTableMapping("sourceCustomers", "dataSetCustomers");
306 tableMapCollection.Add(mymap);
307 tableMapCollection.Remove((Object)mymap);
308 bool eq=tableMapCollection.Contains((Object)mymap);
309 Assert.AreEqual(false, eq, "test1");
312 [Test]
313 [ExpectedException(typeof(InvalidCastException))]
314 public void RemoveException1()
316 String te="testingdata";
317 tableMapCollection.AddRange(tabs);
318 tableMapCollection.Remove(te);
321 [Test]
322 [ExpectedException(typeof(ArgumentException))]
323 public void RemoveException2()
325 tableMapCollection.AddRange(tabs);
326 DataTableMapping mymap=new DataTableMapping("sourceAge", "dataSetAge");
327 tableMapCollection.Remove(mymap);
330 [Test]
331 public void RemoveAt()
333 tableMapCollection.AddRange(tabs);
334 bool eq;
335 tableMapCollection.RemoveAt(0);
336 eq=tableMapCollection.Contains(tabs[0]);
337 Assert.AreEqual(false, eq, "test1");
338 eq=tableMapCollection.Contains(tabs[1]);
339 Assert.AreEqual(true, eq, "test2");
341 tableMapCollection.RemoveAt("sourceEmployees");
342 eq=tableMapCollection.Contains(tabs[1]);
343 Assert.AreEqual(false, eq, "test3");
344 eq=tableMapCollection.Contains(tabs[2]);
345 Assert.AreEqual(true, eq, "test4");
348 [Test]
349 [ExpectedException(typeof(IndexOutOfRangeException))]
350 public void RemoveAtException1()
352 tableMapCollection.RemoveAt(3);
355 [Test]
356 [ExpectedException(typeof(IndexOutOfRangeException))]
357 public void RemoveAtException2()
359 tableMapCollection.RemoveAt("sourceAge");
362 [Test]
363 public void ToStringTest()
365 Assert.AreEqual("System.Data.Common.DataTableMappingCollection", tableMapCollection.ToString(), "test1");