1 // DataColumnMappingCollectionTest.cs - NUnit Test Cases for Testing the
2 // DataColumnMappingCollection class
4 // Author: Ameya Sailesh Gargesh (ameya_13@yahoo.com)
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:
19 // The above copyright notice and this permission notice shall be
20 // included in all copies or substantial portions of the Software.
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
;
35 using System
.Data
.Common
;
36 namespace MonoTests
.System
.Data
.Common
39 public class DataColumnMappingCollectionTest
: Assertion
41 //DataTableMapping tableMap;
42 DataColumnMappingCollection columnMapCollection
;
43 DataColumnMapping
[] cols
;
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();
60 columnMapCollection
.Clear();
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
);
80 [ExpectedException(typeof(InvalidCastException
))]
81 public void AddException1()
83 DataColumnMappingCollection c
=new DataColumnMappingCollection();
84 columnMapCollection
.Add((Object
)c
);
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
);
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
);
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
);
121 public void Contains()
123 DataColumnMapping col1
=new DataColumnMapping("sourceName","dataSetName");
124 columnMapCollection
.AddRange(cols
);
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
);
152 [ExpectedException(typeof(InvalidCastException
))]
153 public void ContainsException1()
155 Object o
= new Object();
156 bool a
= columnMapCollection
.Contains(o
);
162 DataColumnMapping
[] colcops
=new DataColumnMapping
[5];
163 columnMapCollection
.AddRange(cols
);
164 columnMapCollection
.CopyTo(colcops
,0);
166 for (int i
=0;i
<5;i
++)
168 eq
=columnMapCollection
[i
].Equals(colcops
[i
]);
169 AssertEquals("test1"+i
,true,eq
);
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
);
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
));
222 public void GetByDataSetColumn()
224 columnMapCollection
.AddRange(cols
);
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
);
243 public void GetColumnMappingBySchemaAction()
245 columnMapCollection
.AddRange(cols
);
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
);
265 [ExpectedException(typeof(InvalidOperationException
))]
266 public void GetColumnMappingBySchemaActionException1()
268 DataColumnMappingCollection
.GetColumnMappingBySchemaAction(columnMapCollection
,"sourceName",MissingMappingAction
.Error
);
272 public void IndexOf()
274 columnMapCollection
.AddRange(cols
);
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
);
288 public void IndexOfDataSetColumn()
290 columnMapCollection
.AddRange(cols
);
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
);
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
);
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
);
328 [ExpectedException(typeof(InvalidCastException
))]
329 public void RemoveException1()
331 String te
="testingdata";
332 columnMapCollection
.AddRange(cols
);
333 columnMapCollection
.Remove(te
);
337 [ExpectedException(typeof(ArgumentException
))]
338 public void RemoveException2()
340 columnMapCollection
.AddRange(cols
);
341 DataColumnMapping mymap
=new DataColumnMapping("sourceAge","dataSetAge");
342 columnMapCollection
.Remove(mymap
);
346 public void RemoveAt()
348 columnMapCollection
.AddRange(cols
);
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
);
364 [ExpectedException(typeof(IndexOutOfRangeException
))]
365 public void RemoveAtException1()
367 columnMapCollection
.RemoveAt(3);
371 [ExpectedException(typeof(IndexOutOfRangeException
))]
372 public void RemoveAtException2()
374 columnMapCollection
.RemoveAt("sourceAge");
378 public void ToStringTest()
380 AssertEquals("test1","System.Data.Common.DataColumnMappingCollection",columnMapCollection
.ToString());