(DISTFILES): Comment out a few missing files.
[mono-project.git] / mcs / class / System.Data / Test / System.Data.Common / DataColumnMappingCollectionTest.cs
bloba015a78e063e471e11c0e9e457fbe242066c1b5a
1 // DataColumnMappingCollectionTest.cs - NUnit Test Cases for Testing the
2 // DataColumnMappingCollection 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 DataColumnMappingCollectionTest : Assertion
41 //DataTableMapping tableMap;
42 DataColumnMappingCollection columnMapCollection;
43 DataColumnMapping [] cols;
45 [SetUp]
46 public void GetReady()
48 cols=new DataColumnMapping[5];
49 cols[0]=new DataColumnMapping("sourceName","dataSetName");
50 cols[1]=new DataColumnMapping("sourceID","dataSetID");
51 cols[2]=new DataColumnMapping("sourceAddress","dataSetAddress");
52 cols[3]=new DataColumnMapping("sourcePhone","dataSetPhone");
53 cols[4]=new DataColumnMapping("sourcePIN","dataSetPIN");
54 columnMapCollection=new DataColumnMappingCollection();
57 [TearDown]
58 public void Clean()
60 columnMapCollection.Clear();
63 [Test]
64 public void Add()
66 DataColumnMapping col1=new DataColumnMapping("sourceName","dataSetName");
67 int t=columnMapCollection.Add((Object)col1);
68 AssertEquals("test1",0,t);
69 bool eq1=col1.Equals(columnMapCollection[0]);
70 AssertEquals("test2",true,eq1);
71 AssertEquals("test3",1,columnMapCollection.Count);
72 DataColumnMapping col2;
73 col2=columnMapCollection.Add("sourceID","dataSetID");
74 bool eq2=col2.Equals(columnMapCollection[1]);
75 AssertEquals("test4",true,eq2);
76 AssertEquals("test5",2,columnMapCollection.Count);
79 [Test]
80 [ExpectedException(typeof(InvalidCastException))]
81 public void AddException1()
83 DataColumnMappingCollection c=new DataColumnMappingCollection();
84 columnMapCollection.Add((Object)c);
87 [Test]
88 public void AddRange()
90 columnMapCollection.Add(new DataColumnMapping("sourceAge","dataSetAge"));
91 AssertEquals("test1",1,columnMapCollection.Count);
92 columnMapCollection.AddRange(cols);
93 AssertEquals("test2",6,columnMapCollection.Count);
94 bool eq;
95 eq=cols[0].Equals(columnMapCollection[1]);
96 AssertEquals("test3",true,eq);
97 eq=cols[1].Equals(columnMapCollection[2]);
98 AssertEquals("test4",true,eq);
100 eq=cols[0].Equals(columnMapCollection[0]);
101 AssertEquals("test5",false,eq);
102 eq=cols[1].Equals(columnMapCollection[0]);
103 AssertEquals("test6",false,eq);
106 [Test]
107 public void Clear()
109 DataColumnMapping col1=new DataColumnMapping("sourceName","dataSetName");
110 columnMapCollection.Add((Object)col1);
111 AssertEquals("test1",1,columnMapCollection.Count);
112 columnMapCollection.Clear();
113 AssertEquals("test2",0,columnMapCollection.Count);
114 columnMapCollection.AddRange(cols);
115 AssertEquals("test3",5,columnMapCollection.Count);
116 columnMapCollection.Clear();
117 AssertEquals("test4",0,columnMapCollection.Count);
120 [Test]
121 public void Contains()
123 DataColumnMapping col1=new DataColumnMapping("sourceName","dataSetName");
124 columnMapCollection.AddRange(cols);
125 bool eq;
126 eq=columnMapCollection.Contains((Object)cols[0]);
127 AssertEquals("test1",true,eq);
128 eq=columnMapCollection.Contains((Object)cols[1]);
129 AssertEquals("test2",true,eq);
131 eq=columnMapCollection.Contains((Object)col1);
132 AssertEquals("test3",false,eq);
134 eq=columnMapCollection.Contains(cols[0].SourceColumn);
135 AssertEquals("test4",true,eq);
136 eq=columnMapCollection.Contains(cols[1].SourceColumn);
137 AssertEquals("test5",true,eq);
139 eq=columnMapCollection.Contains(col1.SourceColumn);
140 AssertEquals("test6",true,eq);
142 eq=columnMapCollection.Contains(cols[0].DataSetColumn);
143 AssertEquals("test7",false,eq);
144 eq=columnMapCollection.Contains(cols[1].DataSetColumn);
145 AssertEquals("test8",false,eq);
147 eq=columnMapCollection.Contains(col1.DataSetColumn);
148 AssertEquals("test9",false,eq);
151 [Test]
152 [ExpectedException(typeof(InvalidCastException))]
153 public void ContainsException1()
155 Object o = new Object();
156 bool a = columnMapCollection.Contains(o);
159 [Test]
160 public void CopyTo()
162 DataColumnMapping [] colcops=new DataColumnMapping[5];
163 columnMapCollection.AddRange(cols);
164 columnMapCollection.CopyTo(colcops,0);
165 bool eq;
166 for (int i=0;i<5;i++)
168 eq=columnMapCollection[i].Equals(colcops[i]);
169 AssertEquals("test1"+i,true,eq);
171 colcops=null;
172 colcops=new DataColumnMapping[7];
173 columnMapCollection.CopyTo(colcops,2);
174 for (int i=0;i<5;i++)
176 eq=columnMapCollection[i].Equals(colcops[i+2]);
177 AssertEquals("test2"+i,true,eq);
179 eq=columnMapCollection[0].Equals(colcops[0]);
180 AssertEquals("test31",false,eq);
181 eq=columnMapCollection[0].Equals(colcops[1]);
182 AssertEquals("test32",false,eq);
185 [Test]
186 public void Equals()
188 DataColumnMappingCollection collect2=new DataColumnMappingCollection();
189 columnMapCollection.AddRange(cols);
190 collect2.AddRange(cols);
191 DataColumnMappingCollection copy1;
192 copy1=columnMapCollection;
194 AssertEquals("test1",false,columnMapCollection.Equals(collect2));
195 AssertEquals("test2",true,columnMapCollection.Equals(copy1));
196 AssertEquals("test3",false,collect2.Equals(columnMapCollection));
197 AssertEquals("test4",true,copy1.Equals(columnMapCollection));
198 AssertEquals("test5",false,collect2.Equals(copy1));
199 AssertEquals("test6",true,copy1.Equals(columnMapCollection));
200 AssertEquals("test7",true,columnMapCollection.Equals(columnMapCollection));
201 AssertEquals("test8",true,collect2.Equals(collect2));
202 AssertEquals("test9",true,copy1.Equals(copy1));
204 AssertEquals("test10",false,Object.Equals(collect2,columnMapCollection));
205 AssertEquals("test11",true,Object.Equals(copy1,columnMapCollection));
206 AssertEquals("test12",false,Object.Equals(columnMapCollection,collect2));
207 AssertEquals("test13",true,Object.Equals(columnMapCollection,copy1));
208 AssertEquals("test14",false,Object.Equals(copy1,collect2));
209 AssertEquals("test15",true,Object.Equals(columnMapCollection,copy1));
210 AssertEquals("test16",true,Object.Equals(columnMapCollection,columnMapCollection));
211 AssertEquals("test17",true,Object.Equals(collect2,collect2));
212 AssertEquals("test18",true,Object.Equals(copy1,copy1));
213 AssertEquals("test10",false,Object.Equals(columnMapCollection,collect2));
214 AssertEquals("test11",true,Object.Equals(columnMapCollection,copy1));
215 AssertEquals("test12",false,Object.Equals(collect2,columnMapCollection));
216 AssertEquals("test13",true,Object.Equals(copy1,columnMapCollection));
217 AssertEquals("test14",false,Object.Equals(collect2,copy1));
218 AssertEquals("test15",true,Object.Equals(copy1,columnMapCollection));
221 [Test]
222 public void GetByDataSetColumn()
224 columnMapCollection.AddRange(cols);
225 bool eq;
226 DataColumnMapping col1;
227 col1=columnMapCollection.GetByDataSetColumn("dataSetName");
228 eq=(col1.DataSetColumn.Equals("dataSetName") && col1.SourceColumn.Equals("sourceName"));
229 AssertEquals("test1",true,eq);
230 col1=columnMapCollection.GetByDataSetColumn("dataSetID");
231 eq=(col1.DataSetColumn.Equals("dataSetID") && col1.SourceColumn.Equals("sourceID"));
232 AssertEquals("test2",true,eq);
234 col1=columnMapCollection.GetByDataSetColumn("datasetname");
235 eq=(col1.DataSetColumn.Equals("dataSetName") && col1.SourceColumn.Equals("sourceName"));
236 AssertEquals("test3",true,eq);
237 col1=columnMapCollection.GetByDataSetColumn("datasetid");
238 eq=(col1.DataSetColumn.Equals("dataSetID") && col1.SourceColumn.Equals("sourceID"));
239 AssertEquals("test4",true,eq);
242 [Test]
243 public void GetColumnMappingBySchemaAction()
245 columnMapCollection.AddRange(cols);
246 bool eq;
247 DataColumnMapping col1;
248 col1=DataColumnMappingCollection.GetColumnMappingBySchemaAction(columnMapCollection,"sourceName",MissingMappingAction.Passthrough);
249 eq=(col1.DataSetColumn.Equals("dataSetName") && col1.SourceColumn.Equals("sourceName"));
250 AssertEquals("test1",true,eq);
251 col1=DataColumnMappingCollection.GetColumnMappingBySchemaAction(columnMapCollection,"sourceID",MissingMappingAction.Passthrough);
252 eq=(col1.DataSetColumn.Equals("dataSetID") && col1.SourceColumn.Equals("sourceID"));
253 AssertEquals("test2",true,eq);
255 col1=DataColumnMappingCollection.GetColumnMappingBySchemaAction(columnMapCollection,"sourceData",MissingMappingAction.Passthrough);
256 eq=(col1.DataSetColumn.Equals("sourceData") && col1.SourceColumn.Equals("sourceData"));
257 AssertEquals("test3",true,eq);
258 eq=columnMapCollection.Contains(col1);
259 AssertEquals("test4",false,eq);
260 col1=DataColumnMappingCollection.GetColumnMappingBySchemaAction(columnMapCollection,"sourceData",MissingMappingAction.Ignore);
261 AssertEquals("test5",null,col1);
264 [Test]
265 [ExpectedException(typeof(InvalidOperationException))]
266 public void GetColumnMappingBySchemaActionException1()
268 DataColumnMappingCollection.GetColumnMappingBySchemaAction(columnMapCollection,"sourceName",MissingMappingAction.Error);
271 [Test]
272 public void IndexOf()
274 columnMapCollection.AddRange(cols);
275 int ind;
276 ind=columnMapCollection.IndexOf(cols[0]);
277 AssertEquals("test1",0,ind);
278 ind=columnMapCollection.IndexOf(cols[1]);
279 AssertEquals("test2",1,ind);
281 ind=columnMapCollection.IndexOf(cols[0].SourceColumn);
282 AssertEquals("test3",0,ind);
283 ind=columnMapCollection.IndexOf(cols[1].SourceColumn);
284 AssertEquals("test4",1,ind);
287 [Test]
288 public void IndexOfDataSetColumn()
290 columnMapCollection.AddRange(cols);
291 int ind;
292 ind=columnMapCollection.IndexOfDataSetColumn(cols[0].DataSetColumn);
293 AssertEquals("test1",0,ind);
294 ind=columnMapCollection.IndexOfDataSetColumn(cols[1].DataSetColumn);
295 AssertEquals("test2",1,ind);
297 ind=columnMapCollection.IndexOfDataSetColumn("datasetname");
298 AssertEquals("test3",0,ind);
299 ind=columnMapCollection.IndexOfDataSetColumn("datasetid");
300 AssertEquals("test4",1,ind);
302 ind=columnMapCollection.IndexOfDataSetColumn("sourcedeter");
303 AssertEquals("test5",-1,ind);
306 [Test]
307 public void Insert()
309 columnMapCollection.AddRange(cols);
310 DataColumnMapping mymap=new DataColumnMapping("sourceAge","dataSetAge");
311 columnMapCollection.Insert(3,mymap);
312 int ind=columnMapCollection.IndexOfDataSetColumn("dataSetAge");
313 AssertEquals("test1",3,ind);
316 [Test]
317 public void Remove()
319 columnMapCollection.AddRange(cols);
320 DataColumnMapping mymap=new DataColumnMapping("sourceName","dataSetName");
321 columnMapCollection.Add(mymap);
322 columnMapCollection.Remove((Object)mymap);
323 bool eq=columnMapCollection.Contains((Object)mymap);
324 AssertEquals("test1",false,eq);
327 [Test]
328 [ExpectedException(typeof(InvalidCastException))]
329 public void RemoveException1()
331 String te="testingdata";
332 columnMapCollection.AddRange(cols);
333 columnMapCollection.Remove(te);
336 [Test]
337 [ExpectedException(typeof(ArgumentException))]
338 public void RemoveException2()
340 columnMapCollection.AddRange(cols);
341 DataColumnMapping mymap=new DataColumnMapping("sourceAge","dataSetAge");
342 columnMapCollection.Remove(mymap);
345 [Test]
346 public void RemoveAt()
348 columnMapCollection.AddRange(cols);
349 bool eq;
350 columnMapCollection.RemoveAt(0);
351 eq=columnMapCollection.Contains(cols[0]);
352 AssertEquals("test1",false,eq);
353 eq=columnMapCollection.Contains(cols[1]);
354 AssertEquals("test2",true,eq);
356 columnMapCollection.RemoveAt("sourceID");
357 eq=columnMapCollection.Contains(cols[1]);
358 AssertEquals("test3",false,eq);
359 eq=columnMapCollection.Contains(cols[2]);
360 AssertEquals("test4",true,eq);
363 [Test]
364 [ExpectedException(typeof(IndexOutOfRangeException))]
365 public void RemoveAtException1()
367 columnMapCollection.RemoveAt(3);
370 [Test]
371 [ExpectedException(typeof(IndexOutOfRangeException))]
372 public void RemoveAtException2()
374 columnMapCollection.RemoveAt("sourceAge");
377 [Test]
378 public void ToStringTest()
380 AssertEquals("test1","System.Data.Common.DataColumnMappingCollection",columnMapCollection.ToString());