Datei: UnitTestGenerator/UnitTests/UnitTests.cs

Last Commit (0bec001)
1 //
2 // Copyright (c) 2002-2016 Mirko Matytschak
3 // (www.netdataobjects.de)
4 //
5 // Author: Mirko Matytschak
6 //
7 // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
8 // documentation files (the "Software"), to deal in the Software without restriction, including without limitation
9 // the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
10 // Software, and to permit persons to whom the Software is furnished to do so, subject to the following
11 // conditions:
12
13 // The above copyright notice and this permission notice shall be included in all copies or substantial portions
14 // of the Software.
15 //
16 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
17 // TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
19 // CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 // DEALINGS IN THE SOFTWARE.
21
22
23 using System;
24 using System.Linq;
25 using System.Reflection;
26 using System.Diagnostics;
27 using System.Collections;
28 using System.Collections.Generic;
29 using NDO;
30 using NDO.Mapping;
31 using NDO.Query;
32 using NUnit.Framework;
33 using RelationTestClasses;
 
34
35 namespace RelationUnitTests
36 {
37
38 public class PmFactory
39 {
40 ····static PersistenceManager pm;
41 ····public static PersistenceManager NewPersistenceManager()
42 ····{
43 ········if (pm == null)
44 ········{
45 pm = new PersistenceManager( @"C:\Projekte\NDO\UnitTestGenerator\UnitTests\bin\Debug\NDOMapping. xml") ;
46 ············pm.LogPath = @"C:\Projekte\NDO\UnitTestGenerator";
47 ········}
48 ········else
49 ········{
50 ············pm.UnloadCache();
51 ········}
52 ········return pm;
53 ····}
54 }
55
56
57 [TestFixture]
58 public class TestAgrDir1NoTblAuto
59 {
60 ····AgrDir1NoTblAutoLeft ownVar;
61 ····AgrDir1NoTblAutoRight otherVar;
62 ····PersistenceManager pm;
63 ····[SetUp]
64 ····public void Setup()
65 ····{
66 ········pm = PmFactory.NewPersistenceManager();
67 ········ownVar = new AgrDir1NoTblAutoLeft();
68 ········otherVar = new AgrDir1NoTblAutoRight();
69 ····}
70 ····[TearDown]
71 ····public void TearDown()
72 ····{
73 ········try
74 ········{
75 ············pm.UnloadCache();
76 ············var l = pm.Objects<AgrDir1NoTblAutoLeft>().ResultTable;
77 ············pm.Delete(l);
78 ············pm.Save();
79 ············pm.UnloadCache();
80 ············var m = pm.Objects<AgrDir1NoTblAutoRight>().ResultTable;
81 ············pm.Delete(m);
82 ············pm.Save();
83 ············pm.UnloadCache();
84 ············decimal count;
85 ············count = (decimal) new NDOQuery<AgrDir1NoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
86 Assert. AreEqual( 0, count, "Count wrong #1") ;
87 ············count = (decimal) new NDOQuery<AgrDir1NoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
88 Assert. AreEqual( 0, count, "Count wrong #2") ;
89 ········}
90 ········catch (Exception)
91 ········{
92 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
93 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
94 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
95 ········}
96 ····}
97 ····[Test]
98 ····public void TestSaveReload()
99 ····{
100 ········CreateObjects();
101 ········QueryOwn();
102 Assert. NotNull( ownVar, "No Query Result") ;
103 Assert. NotNull( ownVar. RelField, "No related object") ;
104 ····}
105 ····[Test]
106 ····public void TestSaveReloadNull()
107 ····{
108 ········CreateObjects();
109 ········QueryOwn();
110 Assert. NotNull( ownVar, "No Query Result") ;
111 Assert. NotNull( ownVar. RelField, "No related object") ;
112 ········ownVar.RelField = null;
113 ········pm.Save();
114 ········pm.UnloadCache();
115 ········QueryOwn();
116 Assert. NotNull( ownVar, "No Query Result") ;
117 Assert. Null( ownVar. RelField, "There should be no object") ;
118 ····}
119 ····[Test]
120 ····public void TestChangeKeyHolderLeft()
121 ····{
122 ········CreateObjects();
123 ········QueryOwn();
124 Assert. NotNull( ownVar, "No Query Result") ;
125 Assert. NotNull( ownVar. RelField, "No related object") ;
126 ········int x = ownVar.RelField.Dummy;
127 ········ownVar.Dummy = 4711;
128 ········pm.Save();
129 ········pm.UnloadCache();
130 ········QueryOwn();
131 Assert. NotNull( ownVar, "No Query Result") ;
132 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
133 Assert. NotNull( ownVar. RelField, "No related object") ;
134 ····}
135 ····[Test]
136 ····public void TestChangeKeyHolderLeftNoTouch()
137 ····{
138 ········CreateObjects();
139 ········QueryOwn();
140 Assert. NotNull( ownVar, "No Query Result") ;
141 Assert. NotNull( ownVar. RelField, "No related object") ;
142 ········ownVar.Dummy = 4711;
143 ········pm.Save();
144 ········pm.UnloadCache();
145 ········QueryOwn();
146 Assert. NotNull( ownVar, "No Query Result") ;
147 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
148 Assert. NotNull( ownVar. RelField, "No related object") ;
149 ····}
150 ····[Test]
151 ····public void TestUpdateOrder()
152 ····{
153 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
154 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
155 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1NoTblAutoLeft)}))
156 ················> ((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1NoTblAutoRight)})), "Wrong order #1");
157 ········Debug.WriteLine("AgrDir1NoTblAutoLeft");
158 ····}
159 ····void CreateObjects()
160 ····{
161 ········pm.MakePersistent(ownVar);
162 ········pm.MakePersistent(otherVar);
163 ········ownVar.AssignRelation(otherVar);
164 ········pm.Save();
165 ········pm.UnloadCache();
166 ····}
167 ····void QueryOwn()
168 ····{
169 ········var q = new NDOQuery<AgrDir1NoTblAutoLeft>(pm);
170 ········ownVar = q.ExecuteSingle();
171 ····}
172 ····void QueryOther()
173 ····{
174 ········var q = new NDOQuery<AgrDir1NoTblAutoRight>(pm);
175 ········otherVar = q.ExecuteSingle();
176 ····}
177 }
178
179
180 [TestFixture]
181 public class TestAgrDir1TblAuto
182 {
183 ····AgrDir1TblAutoLeft ownVar;
184 ····AgrDir1TblAutoRight otherVar;
185 ····PersistenceManager pm;
186 ····[SetUp]
187 ····public void Setup()
188 ····{
189 ········pm = PmFactory.NewPersistenceManager();
190 ········ownVar = new AgrDir1TblAutoLeft();
191 ········otherVar = new AgrDir1TblAutoRight();
192 ····}
193 ····[TearDown]
194 ····public void TearDown()
195 ····{
196 ········try
197 ········{
198 ············pm.UnloadCache();
199 ············var l = pm.Objects<AgrDir1TblAutoLeft>().ResultTable;
200 ············pm.Delete(l);
201 ············pm.Save();
202 ············pm.UnloadCache();
203 ············var m = pm.Objects<AgrDir1TblAutoRight>().ResultTable;
204 ············pm.Delete(m);
205 ············pm.Save();
206 ············pm.UnloadCache();
207 ············decimal count;
208 ············count = (decimal) new NDOQuery<AgrDir1TblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
209 Assert. AreEqual( 0, count, "Count wrong #1") ;
210 ············count = (decimal) new NDOQuery<AgrDir1TblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
211 Assert. AreEqual( 0, count, "Count wrong #2") ;
212 ········}
213 ········catch (Exception)
214 ········{
215 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
216 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
217 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
218 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
219 ········}
220 ····}
221 ····[Test]
222 ····public void TestSaveReload()
223 ····{
224 ········CreateObjects();
225 ········QueryOwn();
226 Assert. NotNull( ownVar, "No Query Result") ;
227 Assert. NotNull( ownVar. RelField, "No related object") ;
228 ····}
229 ····[Test]
230 ····public void TestSaveReloadNull()
231 ····{
232 ········CreateObjects();
233 ········QueryOwn();
234 Assert. NotNull( ownVar, "No Query Result") ;
235 Assert. NotNull( ownVar. RelField, "No related object") ;
236 ········ownVar.RelField = null;
237 ········pm.Save();
238 ········pm.UnloadCache();
239 ········QueryOwn();
240 Assert. NotNull( ownVar, "No Query Result") ;
241 Assert. Null( ownVar. RelField, "There should be no object") ;
242 ····}
243 ····[Test]
244 ····public void TestChangeKeyHolderLeft()
245 ····{
246 ········CreateObjects();
247 ········QueryOwn();
248 Assert. NotNull( ownVar, "No Query Result") ;
249 Assert. NotNull( ownVar. RelField, "No related object") ;
250 ········int x = ownVar.RelField.Dummy;
251 ········ownVar.Dummy = 4711;
252 ········pm.Save();
253 ········pm.UnloadCache();
254 ········QueryOwn();
255 Assert. NotNull( ownVar, "No Query Result") ;
256 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
257 Assert. NotNull( ownVar. RelField, "No related object") ;
258 ····}
259 ····[Test]
260 ····public void TestChangeKeyHolderLeftNoTouch()
261 ····{
262 ········CreateObjects();
263 ········QueryOwn();
264 Assert. NotNull( ownVar, "No Query Result") ;
265 Assert. NotNull( ownVar. RelField, "No related object") ;
266 ········ownVar.Dummy = 4711;
267 ········pm.Save();
268 ········pm.UnloadCache();
269 ········QueryOwn();
270 Assert. NotNull( ownVar, "No Query Result") ;
271 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
272 Assert. NotNull( ownVar. RelField, "No related object") ;
273 ····}
274 ····void CreateObjects()
275 ····{
276 ········pm.MakePersistent(ownVar);
277 ········pm.MakePersistent(otherVar);
278 ········ownVar.AssignRelation(otherVar);
279 ········pm.Save();
280 ········pm.UnloadCache();
281 ····}
282 ····void QueryOwn()
283 ····{
284 ········var q = new NDOQuery<AgrDir1TblAutoLeft>(pm);
285 ········ownVar = q.ExecuteSingle();
286 ····}
287 ····void QueryOther()
288 ····{
289 ········var q = new NDOQuery<AgrDir1TblAutoRight>(pm);
290 ········otherVar = q.ExecuteSingle();
291 ····}
292 }
293
294
295 [TestFixture]
296 public class TestAgrBi11NoTblAuto
297 {
298 ····AgrBi11NoTblAutoLeft ownVar;
299 ····AgrBi11NoTblAutoRight otherVar;
300 ····PersistenceManager pm;
301 ····[SetUp]
302 ····public void Setup()
303 ····{
304 ········pm = PmFactory.NewPersistenceManager();
305 ········ownVar = new AgrBi11NoTblAutoLeft();
306 ········otherVar = new AgrBi11NoTblAutoRight();
307 ····}
308 ····[TearDown]
309 ····public void TearDown()
310 ····{
311 ········try
312 ········{
313 ············pm.UnloadCache();
314 ············var l = pm.Objects<AgrBi11NoTblAutoLeft>().ResultTable;
315 ············pm.Delete(l);
316 ············pm.Save();
317 ············pm.UnloadCache();
318 ············var m = pm.Objects<AgrBi11NoTblAutoRight>().ResultTable;
319 ············pm.Delete(m);
320 ············pm.Save();
321 ············pm.UnloadCache();
322 ············decimal count;
323 ············count = (decimal) new NDOQuery<AgrBi11NoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
324 Assert. AreEqual( 0, count, "Count wrong #1") ;
325 ············count = (decimal) new NDOQuery<AgrBi11NoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
326 Assert. AreEqual( 0, count, "Count wrong #2") ;
327 ········}
328 ········catch (Exception)
329 ········{
330 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
331 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
332 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
333 ········}
334 ····}
335 ····[Test]
336 ····public void TestSaveReload()
337 ····{
338 ········CreateObjects();
339 ········QueryOwn();
340 Assert. NotNull( ownVar, "No Query Result") ;
341 Assert. NotNull( ownVar. RelField, "No related object") ;
342 ····}
343 ····[Test]
344 ····public void TestSaveReloadNull()
345 ····{
346 ········CreateObjects();
347 ········QueryOwn();
348 Assert. NotNull( ownVar, "No Query Result") ;
349 Assert. NotNull( ownVar. RelField, "No related object") ;
350 ········ownVar.RelField = null;
351 ········pm.Save();
352 ········pm.UnloadCache();
353 ········QueryOwn();
354 Assert. NotNull( ownVar, "No Query Result") ;
355 Assert. Null( ownVar. RelField, "There should be no object") ;
356 ····}
357 ····[Test]
358 ····public void TestChangeKeyHolderLeft()
359 ····{
360 ········CreateObjects();
361 ········QueryOwn();
362 Assert. NotNull( ownVar, "No Query Result") ;
363 Assert. NotNull( ownVar. RelField, "No related object") ;
364 ········int x = ownVar.RelField.Dummy;
365 ········ownVar.Dummy = 4711;
366 ········pm.Save();
367 ········pm.UnloadCache();
368 ········QueryOwn();
369 Assert. NotNull( ownVar, "No Query Result") ;
370 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
371 Assert. NotNull( ownVar. RelField, "No related object") ;
372 ····}
373 ····[Test]
374 ····public void TestChangeKeyHolderRight()
375 ····{
376 ········CreateObjects();
377 ········QueryOther();
378 Assert. NotNull( otherVar, "No Query Result") ;
379 Assert. NotNull( otherVar. RelField, "No related object") ;
380 ········int x = otherVar.RelField.Dummy;
381 ········otherVar.Dummy = 4711;
382 ········pm.Save();
383 ········pm.UnloadCache();
384 ········QueryOther();
385 Assert. NotNull( otherVar, "No Query Result") ;
386 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
387 Assert. NotNull( otherVar. RelField, "No related object") ;
388 ····}
389 ····[Test]
390 ····public void TestChangeKeyHolderLeftNoTouch()
391 ····{
392 ········CreateObjects();
393 ········QueryOwn();
394 Assert. NotNull( ownVar, "No Query Result") ;
395 Assert. NotNull( ownVar. RelField, "No related object") ;
396 ········ownVar.Dummy = 4711;
397 ········pm.Save();
398 ········pm.UnloadCache();
399 ········QueryOwn();
400 Assert. NotNull( ownVar, "No Query Result") ;
401 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
402 Assert. NotNull( ownVar. RelField, "No related object") ;
403 ····}
404 ····[Test]
405 ····public void TestChangeKeyHolderRightNoTouch()
406 ····{
407 ········CreateObjects();
408 ········QueryOther();
409 Assert. NotNull( otherVar, "No Query Result") ;
410 Assert. NotNull( otherVar. RelField, "No related object") ;
411 ········otherVar.Dummy = 4711;
412 ········pm.Save();
413 ········pm.UnloadCache();
414 ········QueryOther();
415 Assert. NotNull( otherVar, "No Query Result") ;
416 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
417 Assert. NotNull( otherVar. RelField, "No related object") ;
418 ····}
419 ····[Test]
420 ····public void TestRelationHash()
421 ····{
422 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi11NoTblAutoLeft));
423 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
424 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi11NoTblAutoRight));
425 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
426 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
427 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
428 ····}
429 ····void CreateObjects()
430 ····{
431 ········pm.MakePersistent(ownVar);
432 ········pm.MakePersistent(otherVar);
433 ········ownVar.AssignRelation(otherVar);
434 ········pm.Save();
435 ········pm.UnloadCache();
436 ····}
437 ····void QueryOwn()
438 ····{
439 ········var q = new NDOQuery<AgrBi11NoTblAutoLeft>(pm);
440 ········ownVar = q.ExecuteSingle();
441 ····}
442 ····void QueryOther()
443 ····{
444 ········var q = new NDOQuery<AgrBi11NoTblAutoRight>(pm);
445 ········otherVar = q.ExecuteSingle();
446 ····}
447 }
448
449
450 [TestFixture]
451 public class TestAgrBi11TblAuto
452 {
453 ····AgrBi11TblAutoLeft ownVar;
454 ····AgrBi11TblAutoRight otherVar;
455 ····PersistenceManager pm;
456 ····[SetUp]
457 ····public void Setup()
458 ····{
459 ········pm = PmFactory.NewPersistenceManager();
460 ········ownVar = new AgrBi11TblAutoLeft();
461 ········otherVar = new AgrBi11TblAutoRight();
462 ····}
463 ····[TearDown]
464 ····public void TearDown()
465 ····{
466 ········try
467 ········{
468 ············pm.UnloadCache();
469 ············var l = pm.Objects<AgrBi11TblAutoLeft>().ResultTable;
470 ············pm.Delete(l);
471 ············pm.Save();
472 ············pm.UnloadCache();
473 ············var m = pm.Objects<AgrBi11TblAutoRight>().ResultTable;
474 ············pm.Delete(m);
475 ············pm.Save();
476 ············pm.UnloadCache();
477 ············decimal count;
478 ············count = (decimal) new NDOQuery<AgrBi11TblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
479 Assert. AreEqual( 0, count, "Count wrong #1") ;
480 ············count = (decimal) new NDOQuery<AgrBi11TblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
481 Assert. AreEqual( 0, count, "Count wrong #2") ;
482 ········}
483 ········catch (Exception)
484 ········{
485 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
486 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
487 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
488 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
489 ········}
490 ····}
491 ····[Test]
492 ····public void TestSaveReload()
493 ····{
494 ········CreateObjects();
495 ········QueryOwn();
496 Assert. NotNull( ownVar, "No Query Result") ;
497 Assert. NotNull( ownVar. RelField, "No related object") ;
498 ····}
499 ····[Test]
500 ····public void TestSaveReloadNull()
501 ····{
502 ········CreateObjects();
503 ········QueryOwn();
504 Assert. NotNull( ownVar, "No Query Result") ;
505 Assert. NotNull( ownVar. RelField, "No related object") ;
506 ········ownVar.RelField = null;
507 ········pm.Save();
508 ········pm.UnloadCache();
509 ········QueryOwn();
510 Assert. NotNull( ownVar, "No Query Result") ;
511 Assert. Null( ownVar. RelField, "There should be no object") ;
512 ····}
513 ····[Test]
514 ····public void TestChangeKeyHolderLeft()
515 ····{
516 ········CreateObjects();
517 ········QueryOwn();
518 Assert. NotNull( ownVar, "No Query Result") ;
519 Assert. NotNull( ownVar. RelField, "No related object") ;
520 ········int x = ownVar.RelField.Dummy;
521 ········ownVar.Dummy = 4711;
522 ········pm.Save();
523 ········pm.UnloadCache();
524 ········QueryOwn();
525 Assert. NotNull( ownVar, "No Query Result") ;
526 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
527 Assert. NotNull( ownVar. RelField, "No related object") ;
528 ····}
529 ····[Test]
530 ····public void TestChangeKeyHolderRight()
531 ····{
532 ········CreateObjects();
533 ········QueryOther();
534 Assert. NotNull( otherVar, "No Query Result") ;
535 Assert. NotNull( otherVar. RelField, "No related object") ;
536 ········int x = otherVar.RelField.Dummy;
537 ········otherVar.Dummy = 4711;
538 ········pm.Save();
539 ········pm.UnloadCache();
540 ········QueryOther();
541 Assert. NotNull( otherVar, "No Query Result") ;
542 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
543 Assert. NotNull( otherVar. RelField, "No related object") ;
544 ····}
545 ····[Test]
546 ····public void TestChangeKeyHolderLeftNoTouch()
547 ····{
548 ········CreateObjects();
549 ········QueryOwn();
550 Assert. NotNull( ownVar, "No Query Result") ;
551 Assert. NotNull( ownVar. RelField, "No related object") ;
552 ········ownVar.Dummy = 4711;
553 ········pm.Save();
554 ········pm.UnloadCache();
555 ········QueryOwn();
556 Assert. NotNull( ownVar, "No Query Result") ;
557 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
558 Assert. NotNull( ownVar. RelField, "No related object") ;
559 ····}
560 ····[Test]
561 ····public void TestChangeKeyHolderRightNoTouch()
562 ····{
563 ········CreateObjects();
564 ········QueryOther();
565 Assert. NotNull( otherVar, "No Query Result") ;
566 Assert. NotNull( otherVar. RelField, "No related object") ;
567 ········otherVar.Dummy = 4711;
568 ········pm.Save();
569 ········pm.UnloadCache();
570 ········QueryOther();
571 Assert. NotNull( otherVar, "No Query Result") ;
572 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
573 Assert. NotNull( otherVar. RelField, "No related object") ;
574 ····}
575 ····[Test]
576 ····public void TestRelationHash()
577 ····{
578 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi11TblAutoLeft));
579 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
580 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi11TblAutoRight));
581 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
582 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
583 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
584 ····}
585 ····void CreateObjects()
586 ····{
587 ········pm.MakePersistent(ownVar);
588 ········pm.MakePersistent(otherVar);
589 ········ownVar.AssignRelation(otherVar);
590 ········pm.Save();
591 ········pm.UnloadCache();
592 ····}
593 ····void QueryOwn()
594 ····{
595 ········var q = new NDOQuery<AgrBi11TblAutoLeft>(pm);
596 ········ownVar = q.ExecuteSingle();
597 ····}
598 ····void QueryOther()
599 ····{
600 ········var q = new NDOQuery<AgrBi11TblAutoRight>(pm);
601 ········otherVar = q.ExecuteSingle();
602 ····}
603 }
604
605
606 [TestFixture]
607 public class TestAgrDirnNoTblAuto
608 {
609 ····AgrDirnNoTblAutoLeft ownVar;
610 ····AgrDirnNoTblAutoRight otherVar;
611 ····PersistenceManager pm;
612 ····[SetUp]
613 ····public void Setup()
614 ····{
615 ········pm = PmFactory.NewPersistenceManager();
616 ········ownVar = new AgrDirnNoTblAutoLeft();
617 ········otherVar = new AgrDirnNoTblAutoRight();
618 ····}
619 ····[TearDown]
620 ····public void TearDown()
621 ····{
622 ········try
623 ········{
624 ············pm.UnloadCache();
625 ············var l = pm.Objects<AgrDirnNoTblAutoLeft>().ResultTable;
626 ············pm.Delete(l);
627 ············pm.Save();
628 ············pm.UnloadCache();
629 ············var m = pm.Objects<AgrDirnNoTblAutoRight>().ResultTable;
630 ············pm.Delete(m);
631 ············pm.Save();
632 ············pm.UnloadCache();
633 ············decimal count;
634 ············count = (decimal) new NDOQuery<AgrDirnNoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
635 Assert. AreEqual( 0, count, "Count wrong #1") ;
636 ············count = (decimal) new NDOQuery<AgrDirnNoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
637 Assert. AreEqual( 0, count, "Count wrong #2") ;
638 ········}
639 ········catch (Exception)
640 ········{
641 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
642 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
643 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
644 ········}
645 ····}
646 ····[Test]
647 ····public void TestSaveReload()
648 ····{
649 ········CreateObjects();
650 ········QueryOwn();
651 Assert. NotNull( ownVar, "No Query Result") ;
652 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
653 ····}
654 ····[Test]
655 ····public void TestSaveReloadNull()
656 ····{
657 ········CreateObjects();
658 ········QueryOwn();
659 Assert. NotNull( ownVar, "No Query Result") ;
660 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
661 ········ownVar.RelField = new List<AgrDirnNoTblAutoRight>();
662 ········pm.Save();
663 ········pm.UnloadCache();
664 ········QueryOwn();
665 Assert. NotNull( ownVar, "No Query Result") ;
666 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
667 ····}
668 ····[Test]
669 ····public void TestSaveReloadRemove()
670 ····{
671 ········CreateObjects();
672 ········QueryOwn();
673 Assert. NotNull( ownVar, "No Query Result") ;
674 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
675 ········ownVar.RemoveRelatedObject();
676 ········pm.Save();
677 ········pm.UnloadCache();
678 ········QueryOwn();
679 Assert. NotNull( ownVar, "No Query Result") ;
680 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
681 ····}
682 ····[Test]
683 ····public void TestUpdateOrder()
684 ····{
685 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
686 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
687 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrDirnNoTblAutoLeft)}))
688 ················< ((int)mi.Invoke(mapping, new object[]{typeof(AgrDirnNoTblAutoRight)})), "Wrong order #1");
689 ········Debug.WriteLine("AgrDirnNoTblAutoLeft");
690 ····}
691 ····void CreateObjects()
692 ····{
693 ········pm.MakePersistent(ownVar);
694 ········pm.MakePersistent(otherVar);
695 ········ownVar.AssignRelation(otherVar);
696 ········pm.Save();
697 ········pm.UnloadCache();
698 ····}
699 ····void QueryOwn()
700 ····{
701 ········var q = new NDOQuery<AgrDirnNoTblAutoLeft>(pm);
702 ········ownVar = q.ExecuteSingle();
703 ····}
704 ····void QueryOther()
705 ····{
706 ········var q = new NDOQuery<AgrDirnNoTblAutoRight>(pm);
707 ········otherVar = q.ExecuteSingle();
708 ····}
709 }
710
711
712 [TestFixture]
713 public class TestAgrDirnTblAuto
714 {
715 ····AgrDirnTblAutoLeft ownVar;
716 ····AgrDirnTblAutoRight otherVar;
717 ····PersistenceManager pm;
718 ····[SetUp]
719 ····public void Setup()
720 ····{
721 ········pm = PmFactory.NewPersistenceManager();
722 ········ownVar = new AgrDirnTblAutoLeft();
723 ········otherVar = new AgrDirnTblAutoRight();
724 ····}
725 ····[TearDown]
726 ····public void TearDown()
727 ····{
728 ········try
729 ········{
730 ············pm.UnloadCache();
731 ············var l = pm.Objects<AgrDirnTblAutoLeft>().ResultTable;
732 ············pm.Delete(l);
733 ············pm.Save();
734 ············pm.UnloadCache();
735 ············var m = pm.Objects<AgrDirnTblAutoRight>().ResultTable;
736 ············pm.Delete(m);
737 ············pm.Save();
738 ············pm.UnloadCache();
739 ············decimal count;
740 ············count = (decimal) new NDOQuery<AgrDirnTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
741 Assert. AreEqual( 0, count, "Count wrong #1") ;
742 ············count = (decimal) new NDOQuery<AgrDirnTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
743 Assert. AreEqual( 0, count, "Count wrong #2") ;
744 ········}
745 ········catch (Exception)
746 ········{
747 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
748 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
749 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
750 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
751 ········}
752 ····}
753 ····[Test]
754 ····public void TestSaveReload()
755 ····{
756 ········CreateObjects();
757 ········QueryOwn();
758 Assert. NotNull( ownVar, "No Query Result") ;
759 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
760 ····}
761 ····[Test]
762 ····public void TestSaveReloadNull()
763 ····{
764 ········CreateObjects();
765 ········QueryOwn();
766 Assert. NotNull( ownVar, "No Query Result") ;
767 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
768 ········ownVar.RelField = new List<AgrDirnTblAutoRight>();
769 ········pm.Save();
770 ········pm.UnloadCache();
771 ········QueryOwn();
772 Assert. NotNull( ownVar, "No Query Result") ;
773 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
774 ····}
775 ····[Test]
776 ····public void TestSaveReloadRemove()
777 ····{
778 ········CreateObjects();
779 ········QueryOwn();
780 Assert. NotNull( ownVar, "No Query Result") ;
781 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
782 ········ownVar.RemoveRelatedObject();
783 ········pm.Save();
784 ········pm.UnloadCache();
785 ········QueryOwn();
786 Assert. NotNull( ownVar, "No Query Result") ;
787 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
788 ····}
789 ····void CreateObjects()
790 ····{
791 ········pm.MakePersistent(ownVar);
792 ········pm.MakePersistent(otherVar);
793 ········ownVar.AssignRelation(otherVar);
794 ········pm.Save();
795 ········pm.UnloadCache();
796 ····}
797 ····void QueryOwn()
798 ····{
799 ········var q = new NDOQuery<AgrDirnTblAutoLeft>(pm);
800 ········ownVar = q.ExecuteSingle();
801 ····}
802 ····void QueryOther()
803 ····{
804 ········var q = new NDOQuery<AgrDirnTblAutoRight>(pm);
805 ········otherVar = q.ExecuteSingle();
806 ····}
807 }
808
809
810 [TestFixture]
811 public class TestAgrBin1NoTblAuto
812 {
813 ····AgrBin1NoTblAutoLeft ownVar;
814 ····AgrBin1NoTblAutoRight otherVar;
815 ····PersistenceManager pm;
816 ····[SetUp]
817 ····public void Setup()
818 ····{
819 ········pm = PmFactory.NewPersistenceManager();
820 ········ownVar = new AgrBin1NoTblAutoLeft();
821 ········otherVar = new AgrBin1NoTblAutoRight();
822 ····}
823 ····[TearDown]
824 ····public void TearDown()
825 ····{
826 ········try
827 ········{
828 ············pm.UnloadCache();
829 ············var l = pm.Objects<AgrBin1NoTblAutoLeft>().ResultTable;
830 ············pm.Delete(l);
831 ············pm.Save();
832 ············pm.UnloadCache();
833 ············var m = pm.Objects<AgrBin1NoTblAutoRight>().ResultTable;
834 ············pm.Delete(m);
835 ············pm.Save();
836 ············pm.UnloadCache();
837 ············decimal count;
838 ············count = (decimal) new NDOQuery<AgrBin1NoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
839 Assert. AreEqual( 0, count, "Count wrong #1") ;
840 ············count = (decimal) new NDOQuery<AgrBin1NoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
841 Assert. AreEqual( 0, count, "Count wrong #2") ;
842 ········}
843 ········catch (Exception)
844 ········{
845 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
846 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
847 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
848 ········}
849 ····}
850 ····[Test]
851 ····public void TestSaveReload()
852 ····{
853 ········CreateObjects();
854 ········QueryOwn();
855 Assert. NotNull( ownVar, "No Query Result") ;
856 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
857 ····}
858 ····[Test]
859 ····public void TestSaveReloadNull()
860 ····{
861 ········CreateObjects();
862 ········QueryOwn();
863 Assert. NotNull( ownVar, "No Query Result") ;
864 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
865 ········ownVar.RelField = new List<AgrBin1NoTblAutoRight>();
866 ········pm.Save();
867 ········pm.UnloadCache();
868 ········QueryOwn();
869 Assert. NotNull( ownVar, "No Query Result") ;
870 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
871 ····}
872 ····[Test]
873 ····public void TestSaveReloadRemove()
874 ····{
875 ········CreateObjects();
876 ········QueryOwn();
877 Assert. NotNull( ownVar, "No Query Result") ;
878 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
879 ········ownVar.RemoveRelatedObject();
880 ········pm.Save();
881 ········pm.UnloadCache();
882 ········QueryOwn();
883 Assert. NotNull( ownVar, "No Query Result") ;
884 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
885 ····}
886 ····[Test]
887 ····public void TestChangeKeyHolderRight()
888 ····{
889 ········CreateObjects();
890 ········QueryOther();
891 Assert. NotNull( otherVar, "No Query Result") ;
892 Assert. NotNull( otherVar. RelField, "No related object") ;
893 ········int x = otherVar.RelField.Dummy;
894 ········otherVar.Dummy = 4711;
895 ········pm.Save();
896 ········pm.UnloadCache();
897 ········QueryOther();
898 Assert. NotNull( otherVar, "No Query Result") ;
899 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
900 Assert. NotNull( otherVar. RelField, "No related object") ;
901 ····}
902 ····[Test]
903 ····public void TestChangeKeyHolderRightNoTouch()
904 ····{
905 ········CreateObjects();
906 ········QueryOther();
907 Assert. NotNull( otherVar, "No Query Result") ;
908 Assert. NotNull( otherVar. RelField, "No related object") ;
909 ········otherVar.Dummy = 4711;
910 ········pm.Save();
911 ········pm.UnloadCache();
912 ········QueryOther();
913 Assert. NotNull( otherVar, "No Query Result") ;
914 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
915 Assert. NotNull( otherVar. RelField, "No related object") ;
916 ····}
917 ····[Test]
918 ····public void TestUpdateOrder()
919 ····{
920 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
921 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
922 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrBin1NoTblAutoLeft)}))
923 ················< ((int)mi.Invoke(mapping, new object[]{typeof(AgrBin1NoTblAutoRight)})), "Wrong order #1");
924 ········Debug.WriteLine("AgrBin1NoTblAutoLeft");
925 ····}
926 ····[Test]
927 ····public void TestRelationHash()
928 ····{
929 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBin1NoTblAutoLeft));
930 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
931 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBin1NoTblAutoRight));
932 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
933 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
934 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
935 ····}
936 ····void CreateObjects()
937 ····{
938 ········pm.MakePersistent(ownVar);
939 ········pm.MakePersistent(otherVar);
940 ········ownVar.AssignRelation(otherVar);
941 ········pm.Save();
942 ········pm.UnloadCache();
943 ····}
944 ····void QueryOwn()
945 ····{
946 ········var q = new NDOQuery<AgrBin1NoTblAutoLeft>(pm);
947 ········ownVar = q.ExecuteSingle();
948 ····}
949 ····void QueryOther()
950 ····{
951 ········var q = new NDOQuery<AgrBin1NoTblAutoRight>(pm);
952 ········otherVar = q.ExecuteSingle();
953 ····}
954 }
955
956
957 [TestFixture]
958 public class TestAgrBin1TblAuto
959 {
960 ····AgrBin1TblAutoLeft ownVar;
961 ····AgrBin1TblAutoRight otherVar;
962 ····PersistenceManager pm;
963 ····[SetUp]
964 ····public void Setup()
965 ····{
966 ········pm = PmFactory.NewPersistenceManager();
967 ········ownVar = new AgrBin1TblAutoLeft();
968 ········otherVar = new AgrBin1TblAutoRight();
969 ····}
970 ····[TearDown]
971 ····public void TearDown()
972 ····{
973 ········try
974 ········{
975 ············pm.UnloadCache();
976 ············var l = pm.Objects<AgrBin1TblAutoLeft>().ResultTable;
977 ············pm.Delete(l);
978 ············pm.Save();
979 ············pm.UnloadCache();
980 ············var m = pm.Objects<AgrBin1TblAutoRight>().ResultTable;
981 ············pm.Delete(m);
982 ············pm.Save();
983 ············pm.UnloadCache();
984 ············decimal count;
985 ············count = (decimal) new NDOQuery<AgrBin1TblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
986 Assert. AreEqual( 0, count, "Count wrong #1") ;
987 ············count = (decimal) new NDOQuery<AgrBin1TblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
988 Assert. AreEqual( 0, count, "Count wrong #2") ;
989 ········}
990 ········catch (Exception)
991 ········{
992 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
993 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
994 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
995 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
996 ········}
997 ····}
998 ····[Test]
999 ····public void TestSaveReload()
1000 ····{
1001 ········CreateObjects();
1002 ········QueryOwn();
1003 Assert. NotNull( ownVar, "No Query Result") ;
1004 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
1005 ····}
1006 ····[Test]
1007 ····public void TestSaveReloadNull()
1008 ····{
1009 ········CreateObjects();
1010 ········QueryOwn();
1011 Assert. NotNull( ownVar, "No Query Result") ;
1012 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
1013 ········ownVar.RelField = new List<AgrBin1TblAutoRight>();
1014 ········pm.Save();
1015 ········pm.UnloadCache();
1016 ········QueryOwn();
1017 Assert. NotNull( ownVar, "No Query Result") ;
1018 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
1019 ····}
1020 ····[Test]
1021 ····public void TestSaveReloadRemove()
1022 ····{
1023 ········CreateObjects();
1024 ········QueryOwn();
1025 Assert. NotNull( ownVar, "No Query Result") ;
1026 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
1027 ········ownVar.RemoveRelatedObject();
1028 ········pm.Save();
1029 ········pm.UnloadCache();
1030 ········QueryOwn();
1031 Assert. NotNull( ownVar, "No Query Result") ;
1032 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
1033 ····}
1034 ····[Test]
1035 ····public void TestChangeKeyHolderRight()
1036 ····{
1037 ········CreateObjects();
1038 ········QueryOther();
1039 Assert. NotNull( otherVar, "No Query Result") ;
1040 Assert. NotNull( otherVar. RelField, "No related object") ;
1041 ········int x = otherVar.RelField.Dummy;
1042 ········otherVar.Dummy = 4711;
1043 ········pm.Save();
1044 ········pm.UnloadCache();
1045 ········QueryOther();
1046 Assert. NotNull( otherVar, "No Query Result") ;
1047 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
1048 Assert. NotNull( otherVar. RelField, "No related object") ;
1049 ····}
1050 ····[Test]
1051 ····public void TestChangeKeyHolderRightNoTouch()
1052 ····{
1053 ········CreateObjects();
1054 ········QueryOther();
1055 Assert. NotNull( otherVar, "No Query Result") ;
1056 Assert. NotNull( otherVar. RelField, "No related object") ;
1057 ········otherVar.Dummy = 4711;
1058 ········pm.Save();
1059 ········pm.UnloadCache();
1060 ········QueryOther();
1061 Assert. NotNull( otherVar, "No Query Result") ;
1062 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
1063 Assert. NotNull( otherVar. RelField, "No related object") ;
1064 ····}
1065 ····[Test]
1066 ····public void TestRelationHash()
1067 ····{
1068 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBin1TblAutoLeft));
1069 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
1070 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBin1TblAutoRight));
1071 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
1072 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
1073 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
1074 ····}
1075 ····void CreateObjects()
1076 ····{
1077 ········pm.MakePersistent(ownVar);
1078 ········pm.MakePersistent(otherVar);
1079 ········ownVar.AssignRelation(otherVar);
1080 ········pm.Save();
1081 ········pm.UnloadCache();
1082 ····}
1083 ····void QueryOwn()
1084 ····{
1085 ········var q = new NDOQuery<AgrBin1TblAutoLeft>(pm);
1086 ········ownVar = q.ExecuteSingle();
1087 ····}
1088 ····void QueryOther()
1089 ····{
1090 ········var q = new NDOQuery<AgrBin1TblAutoRight>(pm);
1091 ········otherVar = q.ExecuteSingle();
1092 ····}
1093 }
1094
1095
1096 [TestFixture]
1097 public class TestAgrBi1nNoTblAuto
1098 {
1099 ····AgrBi1nNoTblAutoLeft ownVar;
1100 ····AgrBi1nNoTblAutoRight otherVar;
1101 ····PersistenceManager pm;
1102 ····[SetUp]
1103 ····public void Setup()
1104 ····{
1105 ········pm = PmFactory.NewPersistenceManager();
1106 ········ownVar = new AgrBi1nNoTblAutoLeft();
1107 ········otherVar = new AgrBi1nNoTblAutoRight();
1108 ····}
1109 ····[TearDown]
1110 ····public void TearDown()
1111 ····{
1112 ········try
1113 ········{
1114 ············pm.UnloadCache();
1115 ············var l = pm.Objects<AgrBi1nNoTblAutoLeft>().ResultTable;
1116 ············pm.Delete(l);
1117 ············pm.Save();
1118 ············pm.UnloadCache();
1119 ············var m = pm.Objects<AgrBi1nNoTblAutoRight>().ResultTable;
1120 ············pm.Delete(m);
1121 ············pm.Save();
1122 ············pm.UnloadCache();
1123 ············decimal count;
1124 ············count = (decimal) new NDOQuery<AgrBi1nNoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1125 Assert. AreEqual( 0, count, "Count wrong #1") ;
1126 ············count = (decimal) new NDOQuery<AgrBi1nNoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1127 Assert. AreEqual( 0, count, "Count wrong #2") ;
1128 ········}
1129 ········catch (Exception)
1130 ········{
1131 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
1132 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
1133 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
1134 ········}
1135 ····}
1136 ····[Test]
1137 ····public void TestSaveReload()
1138 ····{
1139 ········CreateObjects();
1140 ········QueryOwn();
1141 Assert. NotNull( ownVar, "No Query Result") ;
1142 Assert. NotNull( ownVar. RelField, "No related object") ;
1143 ····}
1144 ····[Test]
1145 ····public void TestSaveReloadNull()
1146 ····{
1147 ········CreateObjects();
1148 ········QueryOwn();
1149 Assert. NotNull( ownVar, "No Query Result") ;
1150 Assert. NotNull( ownVar. RelField, "No related object") ;
1151 ········ownVar.RelField = null;
1152 ········pm.Save();
1153 ········pm.UnloadCache();
1154 ········QueryOwn();
1155 Assert. NotNull( ownVar, "No Query Result") ;
1156 Assert. Null( ownVar. RelField, "There should be no object") ;
1157 ····}
1158 ····[Test]
1159 ····public void TestChangeKeyHolderLeft()
1160 ····{
1161 ········CreateObjects();
1162 ········QueryOwn();
1163 Assert. NotNull( ownVar, "No Query Result") ;
1164 Assert. NotNull( ownVar. RelField, "No related object") ;
1165 ········int x = ownVar.RelField.Dummy;
1166 ········ownVar.Dummy = 4711;
1167 ········pm.Save();
1168 ········pm.UnloadCache();
1169 ········QueryOwn();
1170 Assert. NotNull( ownVar, "No Query Result") ;
1171 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
1172 Assert. NotNull( ownVar. RelField, "No related object") ;
1173 ····}
1174 ····[Test]
1175 ····public void TestChangeKeyHolderLeftNoTouch()
1176 ····{
1177 ········CreateObjects();
1178 ········QueryOwn();
1179 Assert. NotNull( ownVar, "No Query Result") ;
1180 Assert. NotNull( ownVar. RelField, "No related object") ;
1181 ········ownVar.Dummy = 4711;
1182 ········pm.Save();
1183 ········pm.UnloadCache();
1184 ········QueryOwn();
1185 Assert. NotNull( ownVar, "No Query Result") ;
1186 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
1187 Assert. NotNull( ownVar. RelField, "No related object") ;
1188 ····}
1189 ····[Test]
1190 ····public void TestUpdateOrder()
1191 ····{
1192 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
1193 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
1194 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrBi1nNoTblAutoLeft)}))
1195 ················> ((int)mi.Invoke(mapping, new object[]{typeof(AgrBi1nNoTblAutoRight)})), "Wrong order #1");
1196 ········Debug.WriteLine("AgrBi1nNoTblAutoLeft");
1197 ····}
1198 ····[Test]
1199 ····public void TestRelationHash()
1200 ····{
1201 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi1nNoTblAutoLeft));
1202 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
1203 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi1nNoTblAutoRight));
1204 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
1205 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
1206 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
1207 ····}
1208 ····void CreateObjects()
1209 ····{
1210 ········pm.MakePersistent(ownVar);
1211 ········pm.MakePersistent(otherVar);
1212 ········ownVar.AssignRelation(otherVar);
1213 ········pm.Save();
1214 ········pm.UnloadCache();
1215 ····}
1216 ····void QueryOwn()
1217 ····{
1218 ········var q = new NDOQuery<AgrBi1nNoTblAutoLeft>(pm);
1219 ········ownVar = q.ExecuteSingle();
1220 ····}
1221 ····void QueryOther()
1222 ····{
1223 ········var q = new NDOQuery<AgrBi1nNoTblAutoRight>(pm);
1224 ········otherVar = q.ExecuteSingle();
1225 ····}
1226 }
1227
1228
1229 [TestFixture]
1230 public class TestAgrBi1nTblAuto
1231 {
1232 ····AgrBi1nTblAutoLeft ownVar;
1233 ····AgrBi1nTblAutoRight otherVar;
1234 ····PersistenceManager pm;
1235 ····[SetUp]
1236 ····public void Setup()
1237 ····{
1238 ········pm = PmFactory.NewPersistenceManager();
1239 ········ownVar = new AgrBi1nTblAutoLeft();
1240 ········otherVar = new AgrBi1nTblAutoRight();
1241 ····}
1242 ····[TearDown]
1243 ····public void TearDown()
1244 ····{
1245 ········try
1246 ········{
1247 ············pm.UnloadCache();
1248 ············var l = pm.Objects<AgrBi1nTblAutoLeft>().ResultTable;
1249 ············pm.Delete(l);
1250 ············pm.Save();
1251 ············pm.UnloadCache();
1252 ············var m = pm.Objects<AgrBi1nTblAutoRight>().ResultTable;
1253 ············pm.Delete(m);
1254 ············pm.Save();
1255 ············pm.UnloadCache();
1256 ············decimal count;
1257 ············count = (decimal) new NDOQuery<AgrBi1nTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1258 Assert. AreEqual( 0, count, "Count wrong #1") ;
1259 ············count = (decimal) new NDOQuery<AgrBi1nTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1260 Assert. AreEqual( 0, count, "Count wrong #2") ;
1261 ········}
1262 ········catch (Exception)
1263 ········{
1264 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
1265 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
1266 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
1267 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
1268 ········}
1269 ····}
1270 ····[Test]
1271 ····public void TestSaveReload()
1272 ····{
1273 ········CreateObjects();
1274 ········QueryOwn();
1275 Assert. NotNull( ownVar, "No Query Result") ;
1276 Assert. NotNull( ownVar. RelField, "No related object") ;
1277 ····}
1278 ····[Test]
1279 ····public void TestSaveReloadNull()
1280 ····{
1281 ········CreateObjects();
1282 ········QueryOwn();
1283 Assert. NotNull( ownVar, "No Query Result") ;
1284 Assert. NotNull( ownVar. RelField, "No related object") ;
1285 ········ownVar.RelField = null;
1286 ········pm.Save();
1287 ········pm.UnloadCache();
1288 ········QueryOwn();
1289 Assert. NotNull( ownVar, "No Query Result") ;
1290 Assert. Null( ownVar. RelField, "There should be no object") ;
1291 ····}
1292 ····[Test]
1293 ····public void TestChangeKeyHolderLeft()
1294 ····{
1295 ········CreateObjects();
1296 ········QueryOwn();
1297 Assert. NotNull( ownVar, "No Query Result") ;
1298 Assert. NotNull( ownVar. RelField, "No related object") ;
1299 ········int x = ownVar.RelField.Dummy;
1300 ········ownVar.Dummy = 4711;
1301 ········pm.Save();
1302 ········pm.UnloadCache();
1303 ········QueryOwn();
1304 Assert. NotNull( ownVar, "No Query Result") ;
1305 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
1306 Assert. NotNull( ownVar. RelField, "No related object") ;
1307 ····}
1308 ····[Test]
1309 ····public void TestChangeKeyHolderLeftNoTouch()
1310 ····{
1311 ········CreateObjects();
1312 ········QueryOwn();
1313 Assert. NotNull( ownVar, "No Query Result") ;
1314 Assert. NotNull( ownVar. RelField, "No related object") ;
1315 ········ownVar.Dummy = 4711;
1316 ········pm.Save();
1317 ········pm.UnloadCache();
1318 ········QueryOwn();
1319 Assert. NotNull( ownVar, "No Query Result") ;
1320 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
1321 Assert. NotNull( ownVar. RelField, "No related object") ;
1322 ····}
1323 ····[Test]
1324 ····public void TestRelationHash()
1325 ····{
1326 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi1nTblAutoLeft));
1327 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
1328 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi1nTblAutoRight));
1329 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
1330 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
1331 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
1332 ····}
1333 ····void CreateObjects()
1334 ····{
1335 ········pm.MakePersistent(ownVar);
1336 ········pm.MakePersistent(otherVar);
1337 ········ownVar.AssignRelation(otherVar);
1338 ········pm.Save();
1339 ········pm.UnloadCache();
1340 ····}
1341 ····void QueryOwn()
1342 ····{
1343 ········var q = new NDOQuery<AgrBi1nTblAutoLeft>(pm);
1344 ········ownVar = q.ExecuteSingle();
1345 ····}
1346 ····void QueryOther()
1347 ····{
1348 ········var q = new NDOQuery<AgrBi1nTblAutoRight>(pm);
1349 ········otherVar = q.ExecuteSingle();
1350 ····}
1351 }
1352
1353
1354 [TestFixture]
1355 public class TestAgrBinnTblAuto
1356 {
1357 ····AgrBinnTblAutoLeft ownVar;
1358 ····AgrBinnTblAutoRight otherVar;
1359 ····PersistenceManager pm;
1360 ····[SetUp]
1361 ····public void Setup()
1362 ····{
1363 ········pm = PmFactory.NewPersistenceManager();
1364 ········ownVar = new AgrBinnTblAutoLeft();
1365 ········otherVar = new AgrBinnTblAutoRight();
1366 ····}
1367 ····[TearDown]
1368 ····public void TearDown()
1369 ····{
1370 ········try
1371 ········{
1372 ············pm.UnloadCache();
1373 ············var l = pm.Objects<AgrBinnTblAutoLeft>().ResultTable;
1374 ············pm.Delete(l);
1375 ············pm.Save();
1376 ············pm.UnloadCache();
1377 ············var m = pm.Objects<AgrBinnTblAutoRight>().ResultTable;
1378 ············pm.Delete(m);
1379 ············pm.Save();
1380 ············pm.UnloadCache();
1381 ············decimal count;
1382 ············count = (decimal) new NDOQuery<AgrBinnTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1383 Assert. AreEqual( 0, count, "Count wrong #1") ;
1384 ············count = (decimal) new NDOQuery<AgrBinnTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1385 Assert. AreEqual( 0, count, "Count wrong #2") ;
1386 ········}
1387 ········catch (Exception)
1388 ········{
1389 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
1390 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
1391 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
1392 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
1393 ········}
1394 ····}
1395 ····[Test]
1396 ····public void TestSaveReload()
1397 ····{
1398 ········CreateObjects();
1399 ········QueryOwn();
1400 Assert. NotNull( ownVar, "No Query Result") ;
1401 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
1402 ····}
1403 ····[Test]
1404 ····public void TestSaveReloadNull()
1405 ····{
1406 ········CreateObjects();
1407 ········QueryOwn();
1408 Assert. NotNull( ownVar, "No Query Result") ;
1409 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
1410 ········ownVar.RelField = new List<AgrBinnTblAutoRight>();
1411 ········pm.Save();
1412 ········pm.UnloadCache();
1413 ········QueryOwn();
1414 Assert. NotNull( ownVar, "No Query Result") ;
1415 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
1416 ····}
1417 ····[Test]
1418 ····public void TestSaveReloadRemove()
1419 ····{
1420 ········CreateObjects();
1421 ········QueryOwn();
1422 Assert. NotNull( ownVar, "No Query Result") ;
1423 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
1424 ········ownVar.RemoveRelatedObject();
1425 ········pm.Save();
1426 ········pm.UnloadCache();
1427 ········QueryOwn();
1428 Assert. NotNull( ownVar, "No Query Result") ;
1429 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
1430 ····}
1431 ····[Test]
1432 ····public void TestRelationHash()
1433 ····{
1434 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBinnTblAutoLeft));
1435 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
1436 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBinnTblAutoRight));
1437 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
1438 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
1439 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
1440 ····}
1441 ····void CreateObjects()
1442 ····{
1443 ········pm.MakePersistent(ownVar);
1444 ········pm.MakePersistent(otherVar);
1445 ········ownVar.AssignRelation(otherVar);
1446 ········pm.Save();
1447 ········pm.UnloadCache();
1448 ····}
1449 ····void QueryOwn()
1450 ····{
1451 ········var q = new NDOQuery<AgrBinnTblAutoLeft>(pm);
1452 ········ownVar = q.ExecuteSingle();
1453 ····}
1454 ····void QueryOther()
1455 ····{
1456 ········var q = new NDOQuery<AgrBinnTblAutoRight>(pm);
1457 ········otherVar = q.ExecuteSingle();
1458 ····}
1459 }
1460
1461
1462 [TestFixture]
1463 public class TestCmpDir1NoTblAuto
1464 {
1465 ····CmpDir1NoTblAutoLeft ownVar;
1466 ····CmpDir1NoTblAutoRight otherVar;
1467 ····PersistenceManager pm;
1468 ····[SetUp]
1469 ····public void Setup()
1470 ····{
1471 ········pm = PmFactory.NewPersistenceManager();
1472 ········ownVar = new CmpDir1NoTblAutoLeft();
1473 ········otherVar = new CmpDir1NoTblAutoRight();
1474 ····}
1475 ····[TearDown]
1476 ····public void TearDown()
1477 ····{
1478 ········try
1479 ········{
1480 ············pm.UnloadCache();
1481 ············var l = pm.Objects<CmpDir1NoTblAutoLeft>().ResultTable;
1482 ············pm.Delete(l);
1483 ············pm.Save();
1484 ············pm.UnloadCache();
1485 ············decimal count;
1486 ············count = (decimal) new NDOQuery<CmpDir1NoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1487 Assert. AreEqual( 0, count, "Count wrong #1") ;
1488 ············count = (decimal) new NDOQuery<CmpDir1NoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1489 Assert. AreEqual( 0, count, "Count wrong #2") ;
1490 ········}
1491 ········catch (Exception)
1492 ········{
1493 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
1494 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
1495 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
1496 ········}
1497 ····}
1498 ····[Test]
1499 ····public void TestSaveReload()
1500 ····{
1501 ········CreateObjects();
1502 ········QueryOwn();
1503 Assert. NotNull( ownVar, "No Query Result") ;
1504 Assert. NotNull( ownVar. RelField, "No related object") ;
1505 ····}
1506 ····[Test]
1507 ····public void TestSaveReloadNull()
1508 ····{
1509 ········CreateObjects();
1510 ········QueryOwn();
1511 Assert. NotNull( ownVar, "No Query Result") ;
1512 Assert. NotNull( ownVar. RelField, "No related object") ;
1513 ········ownVar.RelField = null;
1514 ········pm.Save();
1515 ········pm.UnloadCache();
1516 ········QueryOwn();
1517 Assert. NotNull( ownVar, "No Query Result") ;
1518 Assert. Null( ownVar. RelField, "There should be no object") ;
1519 ····}
1520 ····[Test]
1521 ····public void TestChangeKeyHolderLeft()
1522 ····{
1523 ········CreateObjects();
1524 ········QueryOwn();
1525 Assert. NotNull( ownVar, "No Query Result") ;
1526 Assert. NotNull( ownVar. RelField, "No related object") ;
1527 ········int x = ownVar.RelField.Dummy;
1528 ········ownVar.Dummy = 4711;
1529 ········pm.Save();
1530 ········pm.UnloadCache();
1531 ········QueryOwn();
1532 Assert. NotNull( ownVar, "No Query Result") ;
1533 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
1534 Assert. NotNull( ownVar. RelField, "No related object") ;
1535 ····}
1536 ····[Test]
1537 ····public void TestChangeKeyHolderLeftNoTouch()
1538 ····{
1539 ········CreateObjects();
1540 ········QueryOwn();
1541 Assert. NotNull( ownVar, "No Query Result") ;
1542 Assert. NotNull( ownVar. RelField, "No related object") ;
1543 ········ownVar.Dummy = 4711;
1544 ········pm.Save();
1545 ········pm.UnloadCache();
1546 ········QueryOwn();
1547 Assert. NotNull( ownVar, "No Query Result") ;
1548 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
1549 Assert. NotNull( ownVar. RelField, "No related object") ;
1550 ····}
1551 ····[Test]
1552 ····public void TestUpdateOrder()
1553 ····{
1554 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
1555 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
1556 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(CmpDir1NoTblAutoLeft)}))
1557 ················> ((int)mi.Invoke(mapping, new object[]{typeof(CmpDir1NoTblAutoRight)})), "Wrong order #1");
1558 ········Debug.WriteLine("CmpDir1NoTblAutoLeft");
1559 ····}
1560 ····void CreateObjects()
1561 ····{
1562 ········pm.MakePersistent(ownVar);
1563 ········ownVar.AssignRelation(otherVar);
1564 ········pm.Save();
1565 ········pm.UnloadCache();
1566 ····}
1567 ····void QueryOwn()
1568 ····{
1569 ········var q = new NDOQuery<CmpDir1NoTblAutoLeft>(pm);
1570 ········ownVar = q.ExecuteSingle();
1571 ····}
1572 ····void QueryOther()
1573 ····{
1574 ········var q = new NDOQuery<CmpDir1NoTblAutoRight>(pm);
1575 ········otherVar = q.ExecuteSingle();
1576 ····}
1577 }
1578
1579
1580 [TestFixture]
1581 public class TestCmpDir1TblAuto
1582 {
1583 ····CmpDir1TblAutoLeft ownVar;
1584 ····CmpDir1TblAutoRight otherVar;
1585 ····PersistenceManager pm;
1586 ····[SetUp]
1587 ····public void Setup()
1588 ····{
1589 ········pm = PmFactory.NewPersistenceManager();
1590 ········ownVar = new CmpDir1TblAutoLeft();
1591 ········otherVar = new CmpDir1TblAutoRight();
1592 ····}
1593 ····[TearDown]
1594 ····public void TearDown()
1595 ····{
1596 ········try
1597 ········{
1598 ············pm.UnloadCache();
1599 ············var l = pm.Objects<CmpDir1TblAutoLeft>().ResultTable;
1600 ············pm.Delete(l);
1601 ············pm.Save();
1602 ············pm.UnloadCache();
1603 ············decimal count;
1604 ············count = (decimal) new NDOQuery<CmpDir1TblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1605 Assert. AreEqual( 0, count, "Count wrong #1") ;
1606 ············count = (decimal) new NDOQuery<CmpDir1TblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1607 Assert. AreEqual( 0, count, "Count wrong #2") ;
1608 ········}
1609 ········catch (Exception)
1610 ········{
1611 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
1612 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
1613 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
1614 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
1615 ········}
1616 ····}
1617 ····[Test]
1618 ····public void TestSaveReload()
1619 ····{
1620 ········CreateObjects();
1621 ········QueryOwn();
1622 Assert. NotNull( ownVar, "No Query Result") ;
1623 Assert. NotNull( ownVar. RelField, "No related object") ;
1624 ····}
1625 ····[Test]
1626 ····public void TestSaveReloadNull()
1627 ····{
1628 ········CreateObjects();
1629 ········QueryOwn();
1630 Assert. NotNull( ownVar, "No Query Result") ;
1631 Assert. NotNull( ownVar. RelField, "No related object") ;
1632 ········ownVar.RelField = null;
1633 ········pm.Save();
1634 ········pm.UnloadCache();
1635 ········QueryOwn();
1636 Assert. NotNull( ownVar, "No Query Result") ;
1637 Assert. Null( ownVar. RelField, "There should be no object") ;
1638 ····}
1639 ····[Test]
1640 ····public void TestChangeKeyHolderLeft()
1641 ····{
1642 ········CreateObjects();
1643 ········QueryOwn();
1644 Assert. NotNull( ownVar, "No Query Result") ;
1645 Assert. NotNull( ownVar. RelField, "No related object") ;
1646 ········int x = ownVar.RelField.Dummy;
1647 ········ownVar.Dummy = 4711;
1648 ········pm.Save();
1649 ········pm.UnloadCache();
1650 ········QueryOwn();
1651 Assert. NotNull( ownVar, "No Query Result") ;
1652 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
1653 Assert. NotNull( ownVar. RelField, "No related object") ;
1654 ····}
1655 ····[Test]
1656 ····public void TestChangeKeyHolderLeftNoTouch()
1657 ····{
1658 ········CreateObjects();
1659 ········QueryOwn();
1660 Assert. NotNull( ownVar, "No Query Result") ;
1661 Assert. NotNull( ownVar. RelField, "No related object") ;
1662 ········ownVar.Dummy = 4711;
1663 ········pm.Save();
1664 ········pm.UnloadCache();
1665 ········QueryOwn();
1666 Assert. NotNull( ownVar, "No Query Result") ;
1667 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
1668 Assert. NotNull( ownVar. RelField, "No related object") ;
1669 ····}
1670 ····void CreateObjects()
1671 ····{
1672 ········pm.MakePersistent(ownVar);
1673 ········ownVar.AssignRelation(otherVar);
1674 ········pm.Save();
1675 ········pm.UnloadCache();
1676 ····}
1677 ····void QueryOwn()
1678 ····{
1679 ········var q = new NDOQuery<CmpDir1TblAutoLeft>(pm);
1680 ········ownVar = q.ExecuteSingle();
1681 ····}
1682 ····void QueryOther()
1683 ····{
1684 ········var q = new NDOQuery<CmpDir1TblAutoRight>(pm);
1685 ········otherVar = q.ExecuteSingle();
1686 ····}
1687 }
1688
1689
1690 [TestFixture]
1691 public class TestCmpBi11NoTblAuto
1692 {
1693 ····CmpBi11NoTblAutoLeft ownVar;
1694 ····CmpBi11NoTblAutoRight otherVar;
1695 ····PersistenceManager pm;
1696 ····[SetUp]
1697 ····public void Setup()
1698 ····{
1699 ········pm = PmFactory.NewPersistenceManager();
1700 ········ownVar = new CmpBi11NoTblAutoLeft();
1701 ········otherVar = new CmpBi11NoTblAutoRight();
1702 ····}
1703 ····[TearDown]
1704 ····public void TearDown()
1705 ····{
1706 ········try
1707 ········{
1708 ············pm.UnloadCache();
1709 ············var l = pm.Objects<CmpBi11NoTblAutoLeft>().ResultTable;
1710 ············pm.Delete(l);
1711 ············pm.Save();
1712 ············pm.UnloadCache();
1713 ············decimal count;
1714 ············count = (decimal) new NDOQuery<CmpBi11NoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1715 Assert. AreEqual( 0, count, "Count wrong #1") ;
1716 ············count = (decimal) new NDOQuery<CmpBi11NoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1717 Assert. AreEqual( 0, count, "Count wrong #2") ;
1718 ········}
1719 ········catch (Exception)
1720 ········{
1721 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
1722 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
1723 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
1724 ········}
1725 ····}
1726 ····[Test]
1727 ····public void TestSaveReload()
1728 ····{
1729 ········CreateObjects();
1730 ········QueryOwn();
1731 Assert. NotNull( ownVar, "No Query Result") ;
1732 Assert. NotNull( ownVar. RelField, "No related object") ;
1733 ····}
1734 ····[Test]
1735 ····public void TestSaveReloadNull()
1736 ····{
1737 ········CreateObjects();
1738 ········QueryOwn();
1739 Assert. NotNull( ownVar, "No Query Result") ;
1740 Assert. NotNull( ownVar. RelField, "No related object") ;
1741 ········ownVar.RelField = null;
1742 ········pm.Save();
1743 ········pm.UnloadCache();
1744 ········QueryOwn();
1745 Assert. NotNull( ownVar, "No Query Result") ;
1746 Assert. Null( ownVar. RelField, "There should be no object") ;
1747 ····}
1748 ····[Test]
1749 ····public void TestChangeKeyHolderLeft()
1750 ····{
1751 ········CreateObjects();
1752 ········QueryOwn();
1753 Assert. NotNull( ownVar, "No Query Result") ;
1754 Assert. NotNull( ownVar. RelField, "No related object") ;
1755 ········int x = ownVar.RelField.Dummy;
1756 ········ownVar.Dummy = 4711;
1757 ········pm.Save();
1758 ········pm.UnloadCache();
1759 ········QueryOwn();
1760 Assert. NotNull( ownVar, "No Query Result") ;
1761 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
1762 Assert. NotNull( ownVar. RelField, "No related object") ;
1763 ····}
1764 ····[Test]
1765 ····public void TestChangeKeyHolderRight()
1766 ····{
1767 ········CreateObjects();
1768 ········QueryOther();
1769 Assert. NotNull( otherVar, "No Query Result") ;
1770 Assert. NotNull( otherVar. RelField, "No related object") ;
1771 ········int x = otherVar.RelField.Dummy;
1772 ········otherVar.Dummy = 4711;
1773 ········pm.Save();
1774 ········pm.UnloadCache();
1775 ········QueryOther();
1776 Assert. NotNull( otherVar, "No Query Result") ;
1777 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
1778 Assert. NotNull( otherVar. RelField, "No related object") ;
1779 ····}
1780 ····[Test]
1781 ····public void TestChangeKeyHolderLeftNoTouch()
1782 ····{
1783 ········CreateObjects();
1784 ········QueryOwn();
1785 Assert. NotNull( ownVar, "No Query Result") ;
1786 Assert. NotNull( ownVar. RelField, "No related object") ;
1787 ········ownVar.Dummy = 4711;
1788 ········pm.Save();
1789 ········pm.UnloadCache();
1790 ········QueryOwn();
1791 Assert. NotNull( ownVar, "No Query Result") ;
1792 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
1793 Assert. NotNull( ownVar. RelField, "No related object") ;
1794 ····}
1795 ····[Test]
1796 ····public void TestChangeKeyHolderRightNoTouch()
1797 ····{
1798 ········CreateObjects();
1799 ········QueryOther();
1800 Assert. NotNull( otherVar, "No Query Result") ;
1801 Assert. NotNull( otherVar. RelField, "No related object") ;
1802 ········otherVar.Dummy = 4711;
1803 ········pm.Save();
1804 ········pm.UnloadCache();
1805 ········QueryOther();
1806 Assert. NotNull( otherVar, "No Query Result") ;
1807 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
1808 Assert. NotNull( otherVar. RelField, "No related object") ;
1809 ····}
1810 ····[Test]
1811 ····public void TestRelationHash()
1812 ····{
1813 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi11NoTblAutoLeft));
1814 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
1815 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi11NoTblAutoRight));
1816 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
1817 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
1818 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
1819 ····}
1820 ····void CreateObjects()
1821 ····{
1822 ········pm.MakePersistent(ownVar);
1823 ········ownVar.AssignRelation(otherVar);
1824 ········pm.Save();
1825 ········pm.UnloadCache();
1826 ····}
1827 ····void QueryOwn()
1828 ····{
1829 ········var q = new NDOQuery<CmpBi11NoTblAutoLeft>(pm);
1830 ········ownVar = q.ExecuteSingle();
1831 ····}
1832 ····void QueryOther()
1833 ····{
1834 ········var q = new NDOQuery<CmpBi11NoTblAutoRight>(pm);
1835 ········otherVar = q.ExecuteSingle();
1836 ····}
1837 }
1838
1839
1840 [TestFixture]
1841 public class TestCmpBi11TblAuto
1842 {
1843 ····CmpBi11TblAutoLeft ownVar;
1844 ····CmpBi11TblAutoRight otherVar;
1845 ····PersistenceManager pm;
1846 ····[SetUp]
1847 ····public void Setup()
1848 ····{
1849 ········pm = PmFactory.NewPersistenceManager();
1850 ········ownVar = new CmpBi11TblAutoLeft();
1851 ········otherVar = new CmpBi11TblAutoRight();
1852 ····}
1853 ····[TearDown]
1854 ····public void TearDown()
1855 ····{
1856 ········try
1857 ········{
1858 ············pm.UnloadCache();
1859 ············var l = pm.Objects<CmpBi11TblAutoLeft>().ResultTable;
1860 ············pm.Delete(l);
1861 ············pm.Save();
1862 ············pm.UnloadCache();
1863 ············decimal count;
1864 ············count = (decimal) new NDOQuery<CmpBi11TblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1865 Assert. AreEqual( 0, count, "Count wrong #1") ;
1866 ············count = (decimal) new NDOQuery<CmpBi11TblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
1867 Assert. AreEqual( 0, count, "Count wrong #2") ;
1868 ········}
1869 ········catch (Exception)
1870 ········{
1871 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
1872 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
1873 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
1874 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
1875 ········}
1876 ····}
1877 ····[Test]
1878 ····public void TestSaveReload()
1879 ····{
1880 ········CreateObjects();
1881 ········QueryOwn();
1882 Assert. NotNull( ownVar, "No Query Result") ;
1883 Assert. NotNull( ownVar. RelField, "No related object") ;
1884 ····}
1885 ····[Test]
1886 ····public void TestSaveReloadNull()
1887 ····{
1888 ········CreateObjects();
1889 ········QueryOwn();
1890 Assert. NotNull( ownVar, "No Query Result") ;
1891 Assert. NotNull( ownVar. RelField, "No related object") ;
1892 ········ownVar.RelField = null;
1893 ········pm.Save();
1894 ········pm.UnloadCache();
1895 ········QueryOwn();
1896 Assert. NotNull( ownVar, "No Query Result") ;
1897 Assert. Null( ownVar. RelField, "There should be no object") ;
1898 ····}
1899 ····[Test]
1900 ····public void TestChangeKeyHolderLeft()
1901 ····{
1902 ········CreateObjects();
1903 ········QueryOwn();
1904 Assert. NotNull( ownVar, "No Query Result") ;
1905 Assert. NotNull( ownVar. RelField, "No related object") ;
1906 ········int x = ownVar.RelField.Dummy;
1907 ········ownVar.Dummy = 4711;
1908 ········pm.Save();
1909 ········pm.UnloadCache();
1910 ········QueryOwn();
1911 Assert. NotNull( ownVar, "No Query Result") ;
1912 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
1913 Assert. NotNull( ownVar. RelField, "No related object") ;
1914 ····}
1915 ····[Test]
1916 ····public void TestChangeKeyHolderRight()
1917 ····{
1918 ········CreateObjects();
1919 ········QueryOther();
1920 Assert. NotNull( otherVar, "No Query Result") ;
1921 Assert. NotNull( otherVar. RelField, "No related object") ;
1922 ········int x = otherVar.RelField.Dummy;
1923 ········otherVar.Dummy = 4711;
1924 ········pm.Save();
1925 ········pm.UnloadCache();
1926 ········QueryOther();
1927 Assert. NotNull( otherVar, "No Query Result") ;
1928 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
1929 Assert. NotNull( otherVar. RelField, "No related object") ;
1930 ····}
1931 ····[Test]
1932 ····public void TestChangeKeyHolderLeftNoTouch()
1933 ····{
1934 ········CreateObjects();
1935 ········QueryOwn();
1936 Assert. NotNull( ownVar, "No Query Result") ;
1937 Assert. NotNull( ownVar. RelField, "No related object") ;
1938 ········ownVar.Dummy = 4711;
1939 ········pm.Save();
1940 ········pm.UnloadCache();
1941 ········QueryOwn();
1942 Assert. NotNull( ownVar, "No Query Result") ;
1943 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
1944 Assert. NotNull( ownVar. RelField, "No related object") ;
1945 ····}
1946 ····[Test]
1947 ····public void TestChangeKeyHolderRightNoTouch()
1948 ····{
1949 ········CreateObjects();
1950 ········QueryOther();
1951 Assert. NotNull( otherVar, "No Query Result") ;
1952 Assert. NotNull( otherVar. RelField, "No related object") ;
1953 ········otherVar.Dummy = 4711;
1954 ········pm.Save();
1955 ········pm.UnloadCache();
1956 ········QueryOther();
1957 Assert. NotNull( otherVar, "No Query Result") ;
1958 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
1959 Assert. NotNull( otherVar. RelField, "No related object") ;
1960 ····}
1961 ····[Test]
1962 ····public void TestRelationHash()
1963 ····{
1964 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi11TblAutoLeft));
1965 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
1966 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi11TblAutoRight));
1967 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
1968 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
1969 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
1970 ····}
1971 ····void CreateObjects()
1972 ····{
1973 ········pm.MakePersistent(ownVar);
1974 ········ownVar.AssignRelation(otherVar);
1975 ········pm.Save();
1976 ········pm.UnloadCache();
1977 ····}
1978 ····void QueryOwn()
1979 ····{
1980 ········var q = new NDOQuery<CmpBi11TblAutoLeft>(pm);
1981 ········ownVar = q.ExecuteSingle();
1982 ····}
1983 ····void QueryOther()
1984 ····{
1985 ········var q = new NDOQuery<CmpBi11TblAutoRight>(pm);
1986 ········otherVar = q.ExecuteSingle();
1987 ····}
1988 }
1989
1990
1991 [TestFixture]
1992 public class TestCmpDirnNoTblAuto
1993 {
1994 ····CmpDirnNoTblAutoLeft ownVar;
1995 ····CmpDirnNoTblAutoRight otherVar;
1996 ····PersistenceManager pm;
1997 ····[SetUp]
1998 ····public void Setup()
1999 ····{
2000 ········pm = PmFactory.NewPersistenceManager();
2001 ········ownVar = new CmpDirnNoTblAutoLeft();
2002 ········otherVar = new CmpDirnNoTblAutoRight();
2003 ····}
2004 ····[TearDown]
2005 ····public void TearDown()
2006 ····{
2007 ········try
2008 ········{
2009 ············pm.UnloadCache();
2010 ············var l = pm.Objects<CmpDirnNoTblAutoLeft>().ResultTable;
2011 ············pm.Delete(l);
2012 ············pm.Save();
2013 ············pm.UnloadCache();
2014 ············decimal count;
2015 ············count = (decimal) new NDOQuery<CmpDirnNoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2016 Assert. AreEqual( 0, count, "Count wrong #1") ;
2017 ············count = (decimal) new NDOQuery<CmpDirnNoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2018 Assert. AreEqual( 0, count, "Count wrong #2") ;
2019 ········}
2020 ········catch (Exception)
2021 ········{
2022 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
2023 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
2024 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
2025 ········}
2026 ····}
2027 ····[Test]
2028 ····public void TestSaveReload()
2029 ····{
2030 ········CreateObjects();
2031 ········QueryOwn();
2032 Assert. NotNull( ownVar, "No Query Result") ;
2033 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2034 ····}
2035 ····[Test]
2036 ····public void TestSaveReloadNull()
2037 ····{
2038 ········CreateObjects();
2039 ········QueryOwn();
2040 Assert. NotNull( ownVar, "No Query Result") ;
2041 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2042 ········ownVar.RelField = new List<CmpDirnNoTblAutoRight>();
2043 ········pm.Save();
2044 ········pm.UnloadCache();
2045 ········QueryOwn();
2046 Assert. NotNull( ownVar, "No Query Result") ;
2047 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
2048 ····}
2049 ····[Test]
2050 ····public void TestSaveReloadRemove()
2051 ····{
2052 ········CreateObjects();
2053 ········QueryOwn();
2054 Assert. NotNull( ownVar, "No Query Result") ;
2055 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2056 ········ownVar.RemoveRelatedObject();
2057 ········pm.Save();
2058 ········pm.UnloadCache();
2059 ········QueryOwn();
2060 Assert. NotNull( ownVar, "No Query Result") ;
2061 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
2062 ····}
2063 ····[Test]
2064 ····public void TestUpdateOrder()
2065 ····{
2066 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
2067 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
2068 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(CmpDirnNoTblAutoLeft)}))
2069 ················< ((int)mi.Invoke(mapping, new object[]{typeof(CmpDirnNoTblAutoRight)})), "Wrong order #1");
2070 ········Debug.WriteLine("CmpDirnNoTblAutoLeft");
2071 ····}
2072 ····void CreateObjects()
2073 ····{
2074 ········pm.MakePersistent(ownVar);
2075 ········ownVar.AssignRelation(otherVar);
2076 ········pm.Save();
2077 ········pm.UnloadCache();
2078 ····}
2079 ····void QueryOwn()
2080 ····{
2081 ········var q = new NDOQuery<CmpDirnNoTblAutoLeft>(pm);
2082 ········ownVar = q.ExecuteSingle();
2083 ····}
2084 ····void QueryOther()
2085 ····{
2086 ········var q = new NDOQuery<CmpDirnNoTblAutoRight>(pm);
2087 ········otherVar = q.ExecuteSingle();
2088 ····}
2089 }
2090
2091
2092 [TestFixture]
2093 public class TestCmpDirnTblAuto
2094 {
2095 ····CmpDirnTblAutoLeft ownVar;
2096 ····CmpDirnTblAutoRight otherVar;
2097 ····PersistenceManager pm;
2098 ····[SetUp]
2099 ····public void Setup()
2100 ····{
2101 ········pm = PmFactory.NewPersistenceManager();
2102 ········ownVar = new CmpDirnTblAutoLeft();
2103 ········otherVar = new CmpDirnTblAutoRight();
2104 ····}
2105 ····[TearDown]
2106 ····public void TearDown()
2107 ····{
2108 ········try
2109 ········{
2110 ············pm.UnloadCache();
2111 ············var l = pm.Objects<CmpDirnTblAutoLeft>().ResultTable;
2112 ············pm.Delete(l);
2113 ············pm.Save();
2114 ············pm.UnloadCache();
2115 ············decimal count;
2116 ············count = (decimal) new NDOQuery<CmpDirnTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2117 Assert. AreEqual( 0, count, "Count wrong #1") ;
2118 ············count = (decimal) new NDOQuery<CmpDirnTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2119 Assert. AreEqual( 0, count, "Count wrong #2") ;
2120 ········}
2121 ········catch (Exception)
2122 ········{
2123 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
2124 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
2125 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
2126 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
2127 ········}
2128 ····}
2129 ····[Test]
2130 ····public void TestSaveReload()
2131 ····{
2132 ········CreateObjects();
2133 ········QueryOwn();
2134 Assert. NotNull( ownVar, "No Query Result") ;
2135 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2136 ····}
2137 ····[Test]
2138 ····public void TestSaveReloadNull()
2139 ····{
2140 ········CreateObjects();
2141 ········QueryOwn();
2142 Assert. NotNull( ownVar, "No Query Result") ;
2143 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2144 ········ownVar.RelField = new List<CmpDirnTblAutoRight>();
2145 ········pm.Save();
2146 ········pm.UnloadCache();
2147 ········QueryOwn();
2148 Assert. NotNull( ownVar, "No Query Result") ;
2149 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
2150 ····}
2151 ····[Test]
2152 ····public void TestSaveReloadRemove()
2153 ····{
2154 ········CreateObjects();
2155 ········QueryOwn();
2156 Assert. NotNull( ownVar, "No Query Result") ;
2157 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2158 ········ownVar.RemoveRelatedObject();
2159 ········pm.Save();
2160 ········pm.UnloadCache();
2161 ········QueryOwn();
2162 Assert. NotNull( ownVar, "No Query Result") ;
2163 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
2164 ····}
2165 ····void CreateObjects()
2166 ····{
2167 ········pm.MakePersistent(ownVar);
2168 ········ownVar.AssignRelation(otherVar);
2169 ········pm.Save();
2170 ········pm.UnloadCache();
2171 ····}
2172 ····void QueryOwn()
2173 ····{
2174 ········var q = new NDOQuery<CmpDirnTblAutoLeft>(pm);
2175 ········ownVar = q.ExecuteSingle();
2176 ····}
2177 ····void QueryOther()
2178 ····{
2179 ········var q = new NDOQuery<CmpDirnTblAutoRight>(pm);
2180 ········otherVar = q.ExecuteSingle();
2181 ····}
2182 }
2183
2184
2185 [TestFixture]
2186 public class TestCmpBin1NoTblAuto
2187 {
2188 ····CmpBin1NoTblAutoLeft ownVar;
2189 ····CmpBin1NoTblAutoRight otherVar;
2190 ····PersistenceManager pm;
2191 ····[SetUp]
2192 ····public void Setup()
2193 ····{
2194 ········pm = PmFactory.NewPersistenceManager();
2195 ········ownVar = new CmpBin1NoTblAutoLeft();
2196 ········otherVar = new CmpBin1NoTblAutoRight();
2197 ····}
2198 ····[TearDown]
2199 ····public void TearDown()
2200 ····{
2201 ········try
2202 ········{
2203 ············pm.UnloadCache();
2204 ············var l = pm.Objects<CmpBin1NoTblAutoLeft>().ResultTable;
2205 ············pm.Delete(l);
2206 ············pm.Save();
2207 ············pm.UnloadCache();
2208 ············decimal count;
2209 ············count = (decimal) new NDOQuery<CmpBin1NoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2210 Assert. AreEqual( 0, count, "Count wrong #1") ;
2211 ············count = (decimal) new NDOQuery<CmpBin1NoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2212 Assert. AreEqual( 0, count, "Count wrong #2") ;
2213 ········}
2214 ········catch (Exception)
2215 ········{
2216 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
2217 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
2218 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
2219 ········}
2220 ····}
2221 ····[Test]
2222 ····public void TestSaveReload()
2223 ····{
2224 ········CreateObjects();
2225 ········QueryOwn();
2226 Assert. NotNull( ownVar, "No Query Result") ;
2227 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2228 ····}
2229 ····[Test]
2230 ····public void TestSaveReloadNull()
2231 ····{
2232 ········CreateObjects();
2233 ········QueryOwn();
2234 Assert. NotNull( ownVar, "No Query Result") ;
2235 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2236 ········ownVar.RelField = new List<CmpBin1NoTblAutoRight>();
2237 ········pm.Save();
2238 ········pm.UnloadCache();
2239 ········QueryOwn();
2240 Assert. NotNull( ownVar, "No Query Result") ;
2241 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
2242 ····}
2243 ····[Test]
2244 ····public void TestSaveReloadRemove()
2245 ····{
2246 ········CreateObjects();
2247 ········QueryOwn();
2248 Assert. NotNull( ownVar, "No Query Result") ;
2249 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2250 ········ownVar.RemoveRelatedObject();
2251 ········pm.Save();
2252 ········pm.UnloadCache();
2253 ········QueryOwn();
2254 Assert. NotNull( ownVar, "No Query Result") ;
2255 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
2256 ····}
2257 ····[Test]
2258 ····public void TestChangeKeyHolderRight()
2259 ····{
2260 ········CreateObjects();
2261 ········QueryOther();
2262 Assert. NotNull( otherVar, "No Query Result") ;
2263 Assert. NotNull( otherVar. RelField, "No related object") ;
2264 ········int x = otherVar.RelField.Dummy;
2265 ········otherVar.Dummy = 4711;
2266 ········pm.Save();
2267 ········pm.UnloadCache();
2268 ········QueryOther();
2269 Assert. NotNull( otherVar, "No Query Result") ;
2270 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
2271 Assert. NotNull( otherVar. RelField, "No related object") ;
2272 ····}
2273 ····[Test]
2274 ····public void TestChangeKeyHolderRightNoTouch()
2275 ····{
2276 ········CreateObjects();
2277 ········QueryOther();
2278 Assert. NotNull( otherVar, "No Query Result") ;
2279 Assert. NotNull( otherVar. RelField, "No related object") ;
2280 ········otherVar.Dummy = 4711;
2281 ········pm.Save();
2282 ········pm.UnloadCache();
2283 ········QueryOther();
2284 Assert. NotNull( otherVar, "No Query Result") ;
2285 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
2286 Assert. NotNull( otherVar. RelField, "No related object") ;
2287 ····}
2288 ····[Test]
2289 ····public void TestUpdateOrder()
2290 ····{
2291 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
2292 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
2293 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(CmpBin1NoTblAutoLeft)}))
2294 ················< ((int)mi.Invoke(mapping, new object[]{typeof(CmpBin1NoTblAutoRight)})), "Wrong order #1");
2295 ········Debug.WriteLine("CmpBin1NoTblAutoLeft");
2296 ····}
2297 ····[Test]
2298 ····public void TestRelationHash()
2299 ····{
2300 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBin1NoTblAutoLeft));
2301 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
2302 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBin1NoTblAutoRight));
2303 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
2304 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
2305 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
2306 ····}
2307 ····void CreateObjects()
2308 ····{
2309 ········pm.MakePersistent(ownVar);
2310 ········ownVar.AssignRelation(otherVar);
2311 ········pm.Save();
2312 ········pm.UnloadCache();
2313 ····}
2314 ····void QueryOwn()
2315 ····{
2316 ········var q = new NDOQuery<CmpBin1NoTblAutoLeft>(pm);
2317 ········ownVar = q.ExecuteSingle();
2318 ····}
2319 ····void QueryOther()
2320 ····{
2321 ········var q = new NDOQuery<CmpBin1NoTblAutoRight>(pm);
2322 ········otherVar = q.ExecuteSingle();
2323 ····}
2324 }
2325
2326
2327 [TestFixture]
2328 public class TestCmpBin1TblAuto
2329 {
2330 ····CmpBin1TblAutoLeft ownVar;
2331 ····CmpBin1TblAutoRight otherVar;
2332 ····PersistenceManager pm;
2333 ····[SetUp]
2334 ····public void Setup()
2335 ····{
2336 ········pm = PmFactory.NewPersistenceManager();
2337 ········ownVar = new CmpBin1TblAutoLeft();
2338 ········otherVar = new CmpBin1TblAutoRight();
2339 ····}
2340 ····[TearDown]
2341 ····public void TearDown()
2342 ····{
2343 ········try
2344 ········{
2345 ············pm.UnloadCache();
2346 ············var l = pm.Objects<CmpBin1TblAutoLeft>().ResultTable;
2347 ············pm.Delete(l);
2348 ············pm.Save();
2349 ············pm.UnloadCache();
2350 ············decimal count;
2351 ············count = (decimal) new NDOQuery<CmpBin1TblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2352 Assert. AreEqual( 0, count, "Count wrong #1") ;
2353 ············count = (decimal) new NDOQuery<CmpBin1TblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2354 Assert. AreEqual( 0, count, "Count wrong #2") ;
2355 ········}
2356 ········catch (Exception)
2357 ········{
2358 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
2359 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
2360 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
2361 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
2362 ········}
2363 ····}
2364 ····[Test]
2365 ····public void TestSaveReload()
2366 ····{
2367 ········CreateObjects();
2368 ········QueryOwn();
2369 Assert. NotNull( ownVar, "No Query Result") ;
2370 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2371 ····}
2372 ····[Test]
2373 ····public void TestSaveReloadNull()
2374 ····{
2375 ········CreateObjects();
2376 ········QueryOwn();
2377 Assert. NotNull( ownVar, "No Query Result") ;
2378 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2379 ········ownVar.RelField = new List<CmpBin1TblAutoRight>();
2380 ········pm.Save();
2381 ········pm.UnloadCache();
2382 ········QueryOwn();
2383 Assert. NotNull( ownVar, "No Query Result") ;
2384 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
2385 ····}
2386 ····[Test]
2387 ····public void TestSaveReloadRemove()
2388 ····{
2389 ········CreateObjects();
2390 ········QueryOwn();
2391 Assert. NotNull( ownVar, "No Query Result") ;
2392 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2393 ········ownVar.RemoveRelatedObject();
2394 ········pm.Save();
2395 ········pm.UnloadCache();
2396 ········QueryOwn();
2397 Assert. NotNull( ownVar, "No Query Result") ;
2398 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
2399 ····}
2400 ····[Test]
2401 ····public void TestChangeKeyHolderRight()
2402 ····{
2403 ········CreateObjects();
2404 ········QueryOther();
2405 Assert. NotNull( otherVar, "No Query Result") ;
2406 Assert. NotNull( otherVar. RelField, "No related object") ;
2407 ········int x = otherVar.RelField.Dummy;
2408 ········otherVar.Dummy = 4711;
2409 ········pm.Save();
2410 ········pm.UnloadCache();
2411 ········QueryOther();
2412 Assert. NotNull( otherVar, "No Query Result") ;
2413 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
2414 Assert. NotNull( otherVar. RelField, "No related object") ;
2415 ····}
2416 ····[Test]
2417 ····public void TestChangeKeyHolderRightNoTouch()
2418 ····{
2419 ········CreateObjects();
2420 ········QueryOther();
2421 Assert. NotNull( otherVar, "No Query Result") ;
2422 Assert. NotNull( otherVar. RelField, "No related object") ;
2423 ········otherVar.Dummy = 4711;
2424 ········pm.Save();
2425 ········pm.UnloadCache();
2426 ········QueryOther();
2427 Assert. NotNull( otherVar, "No Query Result") ;
2428 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
2429 Assert. NotNull( otherVar. RelField, "No related object") ;
2430 ····}
2431 ····[Test]
2432 ····public void TestRelationHash()
2433 ····{
2434 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBin1TblAutoLeft));
2435 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
2436 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBin1TblAutoRight));
2437 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
2438 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
2439 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
2440 ····}
2441 ····void CreateObjects()
2442 ····{
2443 ········pm.MakePersistent(ownVar);
2444 ········ownVar.AssignRelation(otherVar);
2445 ········pm.Save();
2446 ········pm.UnloadCache();
2447 ····}
2448 ····void QueryOwn()
2449 ····{
2450 ········var q = new NDOQuery<CmpBin1TblAutoLeft>(pm);
2451 ········ownVar = q.ExecuteSingle();
2452 ····}
2453 ····void QueryOther()
2454 ····{
2455 ········var q = new NDOQuery<CmpBin1TblAutoRight>(pm);
2456 ········otherVar = q.ExecuteSingle();
2457 ····}
2458 }
2459
2460
2461 [TestFixture]
2462 public class TestCmpBi1nNoTblAuto
2463 {
2464 ····CmpBi1nNoTblAutoLeft ownVar;
2465 ····CmpBi1nNoTblAutoRight otherVar;
2466 ····PersistenceManager pm;
2467 ····[SetUp]
2468 ····public void Setup()
2469 ····{
2470 ········pm = PmFactory.NewPersistenceManager();
2471 ········ownVar = new CmpBi1nNoTblAutoLeft();
2472 ········otherVar = new CmpBi1nNoTblAutoRight();
2473 ····}
2474 ····[TearDown]
2475 ····public void TearDown()
2476 ····{
2477 ········try
2478 ········{
2479 ············pm.UnloadCache();
2480 ············var l = pm.Objects<CmpBi1nNoTblAutoLeft>().ResultTable;
2481 ············pm.Delete(l);
2482 ············pm.Save();
2483 ············pm.UnloadCache();
2484 ············decimal count;
2485 ············count = (decimal) new NDOQuery<CmpBi1nNoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2486 Assert. AreEqual( 0, count, "Count wrong #1") ;
2487 ············count = (decimal) new NDOQuery<CmpBi1nNoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2488 Assert. AreEqual( 0, count, "Count wrong #2") ;
2489 ········}
2490 ········catch (Exception)
2491 ········{
2492 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
2493 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
2494 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
2495 ········}
2496 ····}
2497 ····[Test]
2498 ····public void TestSaveReload()
2499 ····{
2500 ········CreateObjects();
2501 ········QueryOwn();
2502 Assert. NotNull( ownVar, "No Query Result") ;
2503 Assert. NotNull( ownVar. RelField, "No related object") ;
2504 ····}
2505 ····[Test]
2506 ····public void TestSaveReloadNull()
2507 ····{
2508 ········CreateObjects();
2509 ········QueryOwn();
2510 Assert. NotNull( ownVar, "No Query Result") ;
2511 Assert. NotNull( ownVar. RelField, "No related object") ;
2512 ········ownVar.RelField = null;
2513 ········pm.Save();
2514 ········pm.UnloadCache();
2515 ········QueryOwn();
2516 Assert. NotNull( ownVar, "No Query Result") ;
2517 Assert. Null( ownVar. RelField, "There should be no object") ;
2518 ····}
2519 ····[Test]
2520 ····public void TestChangeKeyHolderLeft()
2521 ····{
2522 ········CreateObjects();
2523 ········QueryOwn();
2524 Assert. NotNull( ownVar, "No Query Result") ;
2525 Assert. NotNull( ownVar. RelField, "No related object") ;
2526 ········int x = ownVar.RelField.Dummy;
2527 ········ownVar.Dummy = 4711;
2528 ········pm.Save();
2529 ········pm.UnloadCache();
2530 ········QueryOwn();
2531 Assert. NotNull( ownVar, "No Query Result") ;
2532 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
2533 Assert. NotNull( ownVar. RelField, "No related object") ;
2534 ····}
2535 ····[Test]
2536 ····public void TestChangeKeyHolderLeftNoTouch()
2537 ····{
2538 ········CreateObjects();
2539 ········QueryOwn();
2540 Assert. NotNull( ownVar, "No Query Result") ;
2541 Assert. NotNull( ownVar. RelField, "No related object") ;
2542 ········ownVar.Dummy = 4711;
2543 ········pm.Save();
2544 ········pm.UnloadCache();
2545 ········QueryOwn();
2546 Assert. NotNull( ownVar, "No Query Result") ;
2547 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
2548 Assert. NotNull( ownVar. RelField, "No related object") ;
2549 ····}
2550 ····[Test]
2551 ····public void TestUpdateOrder()
2552 ····{
2553 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
2554 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
2555 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(CmpBi1nNoTblAutoLeft)}))
2556 ················> ((int)mi.Invoke(mapping, new object[]{typeof(CmpBi1nNoTblAutoRight)})), "Wrong order #1");
2557 ········Debug.WriteLine("CmpBi1nNoTblAutoLeft");
2558 ····}
2559 ····[Test]
2560 ····public void TestRelationHash()
2561 ····{
2562 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi1nNoTblAutoLeft));
2563 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
2564 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi1nNoTblAutoRight));
2565 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
2566 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
2567 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
2568 ····}
2569 ····void CreateObjects()
2570 ····{
2571 ········pm.MakePersistent(ownVar);
2572 ········ownVar.AssignRelation(otherVar);
2573 ········pm.Save();
2574 ········pm.UnloadCache();
2575 ····}
2576 ····void QueryOwn()
2577 ····{
2578 ········var q = new NDOQuery<CmpBi1nNoTblAutoLeft>(pm);
2579 ········ownVar = q.ExecuteSingle();
2580 ····}
2581 ····void QueryOther()
2582 ····{
2583 ········var q = new NDOQuery<CmpBi1nNoTblAutoRight>(pm);
2584 ········otherVar = q.ExecuteSingle();
2585 ····}
2586 }
2587
2588
2589 [TestFixture]
2590 public class TestCmpBi1nTblAuto
2591 {
2592 ····CmpBi1nTblAutoLeft ownVar;
2593 ····CmpBi1nTblAutoRight otherVar;
2594 ····PersistenceManager pm;
2595 ····[SetUp]
2596 ····public void Setup()
2597 ····{
2598 ········pm = PmFactory.NewPersistenceManager();
2599 ········ownVar = new CmpBi1nTblAutoLeft();
2600 ········otherVar = new CmpBi1nTblAutoRight();
2601 ····}
2602 ····[TearDown]
2603 ····public void TearDown()
2604 ····{
2605 ········try
2606 ········{
2607 ············pm.UnloadCache();
2608 ············var l = pm.Objects<CmpBi1nTblAutoLeft>().ResultTable;
2609 ············pm.Delete(l);
2610 ············pm.Save();
2611 ············pm.UnloadCache();
2612 ············decimal count;
2613 ············count = (decimal) new NDOQuery<CmpBi1nTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2614 Assert. AreEqual( 0, count, "Count wrong #1") ;
2615 ············count = (decimal) new NDOQuery<CmpBi1nTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2616 Assert. AreEqual( 0, count, "Count wrong #2") ;
2617 ········}
2618 ········catch (Exception)
2619 ········{
2620 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
2621 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
2622 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
2623 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
2624 ········}
2625 ····}
2626 ····[Test]
2627 ····public void TestSaveReload()
2628 ····{
2629 ········CreateObjects();
2630 ········QueryOwn();
2631 Assert. NotNull( ownVar, "No Query Result") ;
2632 Assert. NotNull( ownVar. RelField, "No related object") ;
2633 ····}
2634 ····[Test]
2635 ····public void TestSaveReloadNull()
2636 ····{
2637 ········CreateObjects();
2638 ········QueryOwn();
2639 Assert. NotNull( ownVar, "No Query Result") ;
2640 Assert. NotNull( ownVar. RelField, "No related object") ;
2641 ········ownVar.RelField = null;
2642 ········pm.Save();
2643 ········pm.UnloadCache();
2644 ········QueryOwn();
2645 Assert. NotNull( ownVar, "No Query Result") ;
2646 Assert. Null( ownVar. RelField, "There should be no object") ;
2647 ····}
2648 ····[Test]
2649 ····public void TestChangeKeyHolderLeft()
2650 ····{
2651 ········CreateObjects();
2652 ········QueryOwn();
2653 Assert. NotNull( ownVar, "No Query Result") ;
2654 Assert. NotNull( ownVar. RelField, "No related object") ;
2655 ········int x = ownVar.RelField.Dummy;
2656 ········ownVar.Dummy = 4711;
2657 ········pm.Save();
2658 ········pm.UnloadCache();
2659 ········QueryOwn();
2660 Assert. NotNull( ownVar, "No Query Result") ;
2661 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
2662 Assert. NotNull( ownVar. RelField, "No related object") ;
2663 ····}
2664 ····[Test]
2665 ····public void TestChangeKeyHolderLeftNoTouch()
2666 ····{
2667 ········CreateObjects();
2668 ········QueryOwn();
2669 Assert. NotNull( ownVar, "No Query Result") ;
2670 Assert. NotNull( ownVar. RelField, "No related object") ;
2671 ········ownVar.Dummy = 4711;
2672 ········pm.Save();
2673 ········pm.UnloadCache();
2674 ········QueryOwn();
2675 Assert. NotNull( ownVar, "No Query Result") ;
2676 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
2677 Assert. NotNull( ownVar. RelField, "No related object") ;
2678 ····}
2679 ····[Test]
2680 ····public void TestRelationHash()
2681 ····{
2682 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi1nTblAutoLeft));
2683 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
2684 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi1nTblAutoRight));
2685 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
2686 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
2687 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
2688 ····}
2689 ····void CreateObjects()
2690 ····{
2691 ········pm.MakePersistent(ownVar);
2692 ········ownVar.AssignRelation(otherVar);
2693 ········pm.Save();
2694 ········pm.UnloadCache();
2695 ····}
2696 ····void QueryOwn()
2697 ····{
2698 ········var q = new NDOQuery<CmpBi1nTblAutoLeft>(pm);
2699 ········ownVar = q.ExecuteSingle();
2700 ····}
2701 ····void QueryOther()
2702 ····{
2703 ········var q = new NDOQuery<CmpBi1nTblAutoRight>(pm);
2704 ········otherVar = q.ExecuteSingle();
2705 ····}
2706 }
2707
2708
2709 [TestFixture]
2710 public class TestCmpBinnTblAuto
2711 {
2712 ····CmpBinnTblAutoLeft ownVar;
2713 ····CmpBinnTblAutoRight otherVar;
2714 ····PersistenceManager pm;
2715 ····[SetUp]
2716 ····public void Setup()
2717 ····{
2718 ········pm = PmFactory.NewPersistenceManager();
2719 ········ownVar = new CmpBinnTblAutoLeft();
2720 ········otherVar = new CmpBinnTblAutoRight();
2721 ····}
2722 ····[TearDown]
2723 ····public void TearDown()
2724 ····{
2725 ········try
2726 ········{
2727 ············pm.UnloadCache();
2728 ············var l = pm.Objects<CmpBinnTblAutoLeft>().ResultTable;
2729 ············pm.Delete(l);
2730 ············pm.Save();
2731 ············pm.UnloadCache();
2732 ············decimal count;
2733 ············count = (decimal) new NDOQuery<CmpBinnTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2734 Assert. AreEqual( 0, count, "Count wrong #1") ;
2735 ············count = (decimal) new NDOQuery<CmpBinnTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2736 Assert. AreEqual( 0, count, "Count wrong #2") ;
2737 ········}
2738 ········catch (Exception)
2739 ········{
2740 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
2741 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
2742 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
2743 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
2744 ········}
2745 ····}
2746 ····[Test]
2747 ····public void TestSaveReload()
2748 ····{
2749 ········CreateObjects();
2750 ········QueryOwn();
2751 Assert. NotNull( ownVar, "No Query Result") ;
2752 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2753 ····}
2754 ····[Test]
2755 ····public void TestSaveReloadNull()
2756 ····{
2757 ········CreateObjects();
2758 ········QueryOwn();
2759 Assert. NotNull( ownVar, "No Query Result") ;
2760 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2761 ········ownVar.RelField = new List<CmpBinnTblAutoRight>();
2762 ········pm.Save();
2763 ········pm.UnloadCache();
2764 ········QueryOwn();
2765 Assert. NotNull( ownVar, "No Query Result") ;
2766 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
2767 ····}
2768 ····[Test]
2769 ····public void TestSaveReloadRemove()
2770 ····{
2771 ········CreateObjects();
2772 ········QueryOwn();
2773 Assert. NotNull( ownVar, "No Query Result") ;
2774 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
2775 ········ownVar.RemoveRelatedObject();
2776 ········pm.Save();
2777 ········pm.UnloadCache();
2778 ········QueryOwn();
2779 Assert. NotNull( ownVar, "No Query Result") ;
2780 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
2781 ····}
2782 ····[Test]
2783 ····public void TestRelationHash()
2784 ····{
2785 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBinnTblAutoLeft));
2786 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
2787 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBinnTblAutoRight));
2788 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
2789 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
2790 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
2791 ····}
2792 ····void CreateObjects()
2793 ····{
2794 ········pm.MakePersistent(ownVar);
2795 ········ownVar.AssignRelation(otherVar);
2796 ········pm.Save();
2797 ········pm.UnloadCache();
2798 ····}
2799 ····void QueryOwn()
2800 ····{
2801 ········var q = new NDOQuery<CmpBinnTblAutoLeft>(pm);
2802 ········ownVar = q.ExecuteSingle();
2803 ····}
2804 ····void QueryOther()
2805 ····{
2806 ········var q = new NDOQuery<CmpBinnTblAutoRight>(pm);
2807 ········otherVar = q.ExecuteSingle();
2808 ····}
2809 }
2810
2811
2812 [TestFixture]
2813 public class TestAgrDir1OwnpconNoTblAuto
2814 {
2815 ····AgrDir1OwnpconNoTblAutoLeftBase ownVar;
2816 ····AgrDir1OwnpconNoTblAutoRight otherVar;
2817 ····PersistenceManager pm;
2818 ····[SetUp]
2819 ····public void Setup()
2820 ····{
2821 ········pm = PmFactory.NewPersistenceManager();
2822 ········ownVar = new AgrDir1OwnpconNoTblAutoLeftDerived();
2823 ········otherVar = new AgrDir1OwnpconNoTblAutoRight();
2824 ····}
2825 ····[TearDown]
2826 ····public void TearDown()
2827 ····{
2828 ········try
2829 ········{
2830 ············pm.UnloadCache();
2831 ············var l = pm.Objects<AgrDir1OwnpconNoTblAutoLeftBase>().ResultTable;
2832 ············pm.Delete(l);
2833 ············pm.Save();
2834 ············pm.UnloadCache();
2835 ············var m = pm.Objects<AgrDir1OwnpconNoTblAutoRight>().ResultTable;
2836 ············pm.Delete(m);
2837 ············pm.Save();
2838 ············pm.UnloadCache();
2839 ············decimal count;
2840 ············count = (decimal) new NDOQuery<AgrDir1OwnpconNoTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2841 Assert. AreEqual( 0, count, "Count wrong #1") ;
2842 ············count = (decimal) new NDOQuery<AgrDir1OwnpconNoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2843 Assert. AreEqual( 0, count, "Count wrong #2") ;
2844 ········}
2845 ········catch (Exception)
2846 ········{
2847 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
2848 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
2849 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
2850 ········}
2851 ····}
2852 ····[Test]
2853 ····public void TestSaveReload()
2854 ····{
2855 ········CreateObjects();
2856 ········QueryOwn();
2857 Assert. NotNull( ownVar, "No Query Result") ;
2858 Assert. NotNull( ownVar. RelField, "No related object") ;
2859 ····}
2860 ····[Test]
2861 ····public void TestSaveReloadNull()
2862 ····{
2863 ········CreateObjects();
2864 ········QueryOwn();
2865 Assert. NotNull( ownVar, "No Query Result") ;
2866 Assert. NotNull( ownVar. RelField, "No related object") ;
2867 ········ownVar.RelField = null;
2868 ········pm.Save();
2869 ········pm.UnloadCache();
2870 ········QueryOwn();
2871 Assert. NotNull( ownVar, "No Query Result") ;
2872 Assert. Null( ownVar. RelField, "There should be no object") ;
2873 ····}
2874 ····[Test]
2875 ····public void TestChangeKeyHolderLeft()
2876 ····{
2877 ········CreateObjects();
2878 ········QueryOwn();
2879 Assert. NotNull( ownVar, "No Query Result") ;
2880 Assert. NotNull( ownVar. RelField, "No related object") ;
2881 ········int x = ownVar.RelField.Dummy;
2882 ········ownVar.Dummy = 4711;
2883 ········pm.Save();
2884 ········pm.UnloadCache();
2885 ········QueryOwn();
2886 Assert. NotNull( ownVar, "No Query Result") ;
2887 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
2888 Assert. NotNull( ownVar. RelField, "No related object") ;
2889 ····}
2890 ····[Test]
2891 ····public void TestChangeKeyHolderLeftNoTouch()
2892 ····{
2893 ········CreateObjects();
2894 ········QueryOwn();
2895 Assert. NotNull( ownVar, "No Query Result") ;
2896 Assert. NotNull( ownVar. RelField, "No related object") ;
2897 ········ownVar.Dummy = 4711;
2898 ········pm.Save();
2899 ········pm.UnloadCache();
2900 ········QueryOwn();
2901 Assert. NotNull( ownVar, "No Query Result") ;
2902 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
2903 Assert. NotNull( ownVar. RelField, "No related object") ;
2904 ····}
2905 ····[Test]
2906 ····public void TestUpdateOrder()
2907 ····{
2908 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
2909 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
2910 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1OwnpconNoTblAutoLeftBase)}))
2911 ················> ((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1OwnpconNoTblAutoRight)})), "Wrong order #1");
2912 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1OwnpconNoTblAutoLeftDerived)}))
2913 ················> ((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1OwnpconNoTblAutoRight)})), "Wrong order #2");
2914 ········Debug.WriteLine("AgrDir1OwnpconNoTblAutoLeftBase");
2915 ····}
2916 ····void CreateObjects()
2917 ····{
2918 ········pm.MakePersistent(ownVar);
2919 ········pm.MakePersistent(otherVar);
2920 ········ownVar.AssignRelation(otherVar);
2921 ········pm.Save();
2922 ········pm.UnloadCache();
2923 ····}
2924 ····void QueryOwn()
2925 ····{
2926 ········var q = new NDOQuery<AgrDir1OwnpconNoTblAutoLeftBase>(pm);
2927 ········ownVar = q.ExecuteSingle();
2928 ····}
2929 ····void QueryOther()
2930 ····{
2931 ········var q = new NDOQuery<AgrDir1OwnpconNoTblAutoRight>(pm);
2932 ········otherVar = q.ExecuteSingle();
2933 ····}
2934 }
2935
2936
2937 [TestFixture]
2938 public class TestAgrDir1OwnpconTblAuto
2939 {
2940 ····AgrDir1OwnpconTblAutoLeftBase ownVar;
2941 ····AgrDir1OwnpconTblAutoRight otherVar;
2942 ····PersistenceManager pm;
2943 ····[SetUp]
2944 ····public void Setup()
2945 ····{
2946 ········pm = PmFactory.NewPersistenceManager();
2947 ········ownVar = new AgrDir1OwnpconTblAutoLeftDerived();
2948 ········otherVar = new AgrDir1OwnpconTblAutoRight();
2949 ····}
2950 ····[TearDown]
2951 ····public void TearDown()
2952 ····{
2953 ········try
2954 ········{
2955 ············pm.UnloadCache();
2956 ············var l = pm.Objects<AgrDir1OwnpconTblAutoLeftBase>().ResultTable;
2957 ············pm.Delete(l);
2958 ············pm.Save();
2959 ············pm.UnloadCache();
2960 ············var m = pm.Objects<AgrDir1OwnpconTblAutoRight>().ResultTable;
2961 ············pm.Delete(m);
2962 ············pm.Save();
2963 ············pm.UnloadCache();
2964 ············decimal count;
2965 ············count = (decimal) new NDOQuery<AgrDir1OwnpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2966 Assert. AreEqual( 0, count, "Count wrong #1") ;
2967 ············count = (decimal) new NDOQuery<AgrDir1OwnpconTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
2968 Assert. AreEqual( 0, count, "Count wrong #2") ;
2969 ········}
2970 ········catch (Exception)
2971 ········{
2972 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
2973 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
2974 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
2975 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
2976 ········}
2977 ····}
2978 ····[Test]
2979 ····public void TestSaveReload()
2980 ····{
2981 ········CreateObjects();
2982 ········QueryOwn();
2983 Assert. NotNull( ownVar, "No Query Result") ;
2984 Assert. NotNull( ownVar. RelField, "No related object") ;
2985 ····}
2986 ····[Test]
2987 ····public void TestSaveReloadNull()
2988 ····{
2989 ········CreateObjects();
2990 ········QueryOwn();
2991 Assert. NotNull( ownVar, "No Query Result") ;
2992 Assert. NotNull( ownVar. RelField, "No related object") ;
2993 ········ownVar.RelField = null;
2994 ········pm.Save();
2995 ········pm.UnloadCache();
2996 ········QueryOwn();
2997 Assert. NotNull( ownVar, "No Query Result") ;
2998 Assert. Null( ownVar. RelField, "There should be no object") ;
2999 ····}
3000 ····[Test]
3001 ····public void TestChangeKeyHolderLeft()
3002 ····{
3003 ········CreateObjects();
3004 ········QueryOwn();
3005 Assert. NotNull( ownVar, "No Query Result") ;
3006 Assert. NotNull( ownVar. RelField, "No related object") ;
3007 ········int x = ownVar.RelField.Dummy;
3008 ········ownVar.Dummy = 4711;
3009 ········pm.Save();
3010 ········pm.UnloadCache();
3011 ········QueryOwn();
3012 Assert. NotNull( ownVar, "No Query Result") ;
3013 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
3014 Assert. NotNull( ownVar. RelField, "No related object") ;
3015 ····}
3016 ····[Test]
3017 ····public void TestChangeKeyHolderLeftNoTouch()
3018 ····{
3019 ········CreateObjects();
3020 ········QueryOwn();
3021 Assert. NotNull( ownVar, "No Query Result") ;
3022 Assert. NotNull( ownVar. RelField, "No related object") ;
3023 ········ownVar.Dummy = 4711;
3024 ········pm.Save();
3025 ········pm.UnloadCache();
3026 ········QueryOwn();
3027 Assert. NotNull( ownVar, "No Query Result") ;
3028 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
3029 Assert. NotNull( ownVar. RelField, "No related object") ;
3030 ····}
3031 ····void CreateObjects()
3032 ····{
3033 ········pm.MakePersistent(ownVar);
3034 ········pm.MakePersistent(otherVar);
3035 ········ownVar.AssignRelation(otherVar);
3036 ········pm.Save();
3037 ········pm.UnloadCache();
3038 ····}
3039 ····void QueryOwn()
3040 ····{
3041 ········var q = new NDOQuery<AgrDir1OwnpconTblAutoLeftBase>(pm);
3042 ········ownVar = q.ExecuteSingle();
3043 ····}
3044 ····void QueryOther()
3045 ····{
3046 ········var q = new NDOQuery<AgrDir1OwnpconTblAutoRight>(pm);
3047 ········otherVar = q.ExecuteSingle();
3048 ····}
3049 }
3050
3051
3052 [TestFixture]
3053 public class TestAgrBi11OwnpconNoTblAuto
3054 {
3055 ····AgrBi11OwnpconNoTblAutoLeftBase ownVar;
3056 ····AgrBi11OwnpconNoTblAutoRight otherVar;
3057 ····PersistenceManager pm;
3058 ····[SetUp]
3059 ····public void Setup()
3060 ····{
3061 ········pm = PmFactory.NewPersistenceManager();
3062 ········ownVar = new AgrBi11OwnpconNoTblAutoLeftDerived();
3063 ········otherVar = new AgrBi11OwnpconNoTblAutoRight();
3064 ····}
3065 ····[TearDown]
3066 ····public void TearDown()
3067 ····{
3068 ········try
3069 ········{
3070 ············pm.UnloadCache();
3071 ············var l = pm.Objects<AgrBi11OwnpconNoTblAutoLeftBase>().ResultTable;
3072 ············pm.Delete(l);
3073 ············pm.Save();
3074 ············pm.UnloadCache();
3075 ············var m = pm.Objects<AgrBi11OwnpconNoTblAutoRight>().ResultTable;
3076 ············pm.Delete(m);
3077 ············pm.Save();
3078 ············pm.UnloadCache();
3079 ············decimal count;
3080 ············count = (decimal) new NDOQuery<AgrBi11OwnpconNoTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3081 Assert. AreEqual( 0, count, "Count wrong #1") ;
3082 ············count = (decimal) new NDOQuery<AgrBi11OwnpconNoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3083 Assert. AreEqual( 0, count, "Count wrong #2") ;
3084 ········}
3085 ········catch (Exception)
3086 ········{
3087 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
3088 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
3089 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
3090 ········}
3091 ····}
3092 ····[Test]
3093 ····public void TestSaveReload()
3094 ····{
3095 ········CreateObjects();
3096 ········QueryOwn();
3097 Assert. NotNull( ownVar, "No Query Result") ;
3098 Assert. NotNull( ownVar. RelField, "No related object") ;
3099 ····}
3100 ····[Test]
3101 ····public void TestSaveReloadNull()
3102 ····{
3103 ········CreateObjects();
3104 ········QueryOwn();
3105 Assert. NotNull( ownVar, "No Query Result") ;
3106 Assert. NotNull( ownVar. RelField, "No related object") ;
3107 ········ownVar.RelField = null;
3108 ········pm.Save();
3109 ········pm.UnloadCache();
3110 ········QueryOwn();
3111 Assert. NotNull( ownVar, "No Query Result") ;
3112 Assert. Null( ownVar. RelField, "There should be no object") ;
3113 ····}
3114 ····[Test]
3115 ····public void TestChangeKeyHolderLeft()
3116 ····{
3117 ········CreateObjects();
3118 ········QueryOwn();
3119 Assert. NotNull( ownVar, "No Query Result") ;
3120 Assert. NotNull( ownVar. RelField, "No related object") ;
3121 ········int x = ownVar.RelField.Dummy;
3122 ········ownVar.Dummy = 4711;
3123 ········pm.Save();
3124 ········pm.UnloadCache();
3125 ········QueryOwn();
3126 Assert. NotNull( ownVar, "No Query Result") ;
3127 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
3128 Assert. NotNull( ownVar. RelField, "No related object") ;
3129 ····}
3130 ····[Test]
3131 ····public void TestChangeKeyHolderRight()
3132 ····{
3133 ········CreateObjects();
3134 ········QueryOther();
3135 Assert. NotNull( otherVar, "No Query Result") ;
3136 Assert. NotNull( otherVar. RelField, "No related object") ;
3137 ········int x = otherVar.RelField.Dummy;
3138 ········otherVar.Dummy = 4711;
3139 ········pm.Save();
3140 ········pm.UnloadCache();
3141 ········QueryOther();
3142 Assert. NotNull( otherVar, "No Query Result") ;
3143 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
3144 Assert. NotNull( otherVar. RelField, "No related object") ;
3145 ····}
3146 ····[Test]
3147 ····public void TestChangeKeyHolderLeftNoTouch()
3148 ····{
3149 ········CreateObjects();
3150 ········QueryOwn();
3151 Assert. NotNull( ownVar, "No Query Result") ;
3152 Assert. NotNull( ownVar. RelField, "No related object") ;
3153 ········ownVar.Dummy = 4711;
3154 ········pm.Save();
3155 ········pm.UnloadCache();
3156 ········QueryOwn();
3157 Assert. NotNull( ownVar, "No Query Result") ;
3158 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
3159 Assert. NotNull( ownVar. RelField, "No related object") ;
3160 ····}
3161 ····[Test]
3162 ····public void TestChangeKeyHolderRightNoTouch()
3163 ····{
3164 ········CreateObjects();
3165 ········QueryOther();
3166 Assert. NotNull( otherVar, "No Query Result") ;
3167 Assert. NotNull( otherVar. RelField, "No related object") ;
3168 ········otherVar.Dummy = 4711;
3169 ········pm.Save();
3170 ········pm.UnloadCache();
3171 ········QueryOther();
3172 Assert. NotNull( otherVar, "No Query Result") ;
3173 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
3174 Assert. NotNull( otherVar. RelField, "No related object") ;
3175 ····}
3176 ····[Test]
3177 ····public void TestRelationHash()
3178 ····{
3179 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconNoTblAutoLeftBase));
3180 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
3181 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconNoTblAutoRight));
3182 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
3183 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
3184 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
3185 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconNoTblAutoLeftDerived));
3186 ········Relation relderLeft = clderLeft.FindRelation("relField");
3187 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
3188 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
3189 ····}
3190 ····void CreateObjects()
3191 ····{
3192 ········pm.MakePersistent(ownVar);
3193 ········pm.MakePersistent(otherVar);
3194 ········pm.Save();
3195 ········ownVar.AssignRelation(otherVar);
3196 ········pm.Save();
3197 ········pm.UnloadCache();
3198 ····}
3199 ····void QueryOwn()
3200 ····{
3201 ········var q = new NDOQuery<AgrBi11OwnpconNoTblAutoLeftBase>(pm);
3202 ········ownVar = q.ExecuteSingle();
3203 ····}
3204 ····void QueryOther()
3205 ····{
3206 ········var q = new NDOQuery<AgrBi11OwnpconNoTblAutoRight>(pm);
3207 ········otherVar = q.ExecuteSingle();
3208 ····}
3209 }
3210
3211
3212 [TestFixture]
3213 public class TestAgrBi11OwnpconTblAuto
3214 {
3215 ····AgrBi11OwnpconTblAutoLeftBase ownVar;
3216 ····AgrBi11OwnpconTblAutoRight otherVar;
3217 ····PersistenceManager pm;
3218 ····[SetUp]
3219 ····public void Setup()
3220 ····{
3221 ········pm = PmFactory.NewPersistenceManager();
3222 ········ownVar = new AgrBi11OwnpconTblAutoLeftDerived();
3223 ········otherVar = new AgrBi11OwnpconTblAutoRight();
3224 ····}
3225 ····[TearDown]
3226 ····public void TearDown()
3227 ····{
3228 ········try
3229 ········{
3230 ············pm.UnloadCache();
3231 ············var l = pm.Objects<AgrBi11OwnpconTblAutoLeftBase>().ResultTable;
3232 ············pm.Delete(l);
3233 ············pm.Save();
3234 ············pm.UnloadCache();
3235 ············var m = pm.Objects<AgrBi11OwnpconTblAutoRight>().ResultTable;
3236 ············pm.Delete(m);
3237 ············pm.Save();
3238 ············pm.UnloadCache();
3239 ············decimal count;
3240 ············count = (decimal) new NDOQuery<AgrBi11OwnpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3241 Assert. AreEqual( 0, count, "Count wrong #1") ;
3242 ············count = (decimal) new NDOQuery<AgrBi11OwnpconTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3243 Assert. AreEqual( 0, count, "Count wrong #2") ;
3244 ········}
3245 ········catch (Exception)
3246 ········{
3247 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
3248 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
3249 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
3250 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
3251 ········}
3252 ····}
3253 ····[Test]
3254 ····public void TestSaveReload()
3255 ····{
3256 ········CreateObjects();
3257 ········QueryOwn();
3258 Assert. NotNull( ownVar, "No Query Result") ;
3259 Assert. NotNull( ownVar. RelField, "No related object") ;
3260 ····}
3261 ····[Test]
3262 ····public void TestSaveReloadNull()
3263 ····{
3264 ········CreateObjects();
3265 ········QueryOwn();
3266 Assert. NotNull( ownVar, "No Query Result") ;
3267 Assert. NotNull( ownVar. RelField, "No related object") ;
3268 ········ownVar.RelField = null;
3269 ········pm.Save();
3270 ········pm.UnloadCache();
3271 ········QueryOwn();
3272 Assert. NotNull( ownVar, "No Query Result") ;
3273 Assert. Null( ownVar. RelField, "There should be no object") ;
3274 ····}
3275 ····[Test]
3276 ····public void TestChangeKeyHolderLeft()
3277 ····{
3278 ········CreateObjects();
3279 ········QueryOwn();
3280 Assert. NotNull( ownVar, "No Query Result") ;
3281 Assert. NotNull( ownVar. RelField, "No related object") ;
3282 ········int x = ownVar.RelField.Dummy;
3283 ········ownVar.Dummy = 4711;
3284 ········pm.Save();
3285 ········pm.UnloadCache();
3286 ········QueryOwn();
3287 Assert. NotNull( ownVar, "No Query Result") ;
3288 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
3289 Assert. NotNull( ownVar. RelField, "No related object") ;
3290 ····}
3291 ····[Test]
3292 ····public void TestChangeKeyHolderRight()
3293 ····{
3294 ········CreateObjects();
3295 ········QueryOther();
3296 Assert. NotNull( otherVar, "No Query Result") ;
3297 Assert. NotNull( otherVar. RelField, "No related object") ;
3298 ········int x = otherVar.RelField.Dummy;
3299 ········otherVar.Dummy = 4711;
3300 ········pm.Save();
3301 ········pm.UnloadCache();
3302 ········QueryOther();
3303 Assert. NotNull( otherVar, "No Query Result") ;
3304 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
3305 Assert. NotNull( otherVar. RelField, "No related object") ;
3306 ····}
3307 ····[Test]
3308 ····public void TestChangeKeyHolderLeftNoTouch()
3309 ····{
3310 ········CreateObjects();
3311 ········QueryOwn();
3312 Assert. NotNull( ownVar, "No Query Result") ;
3313 Assert. NotNull( ownVar. RelField, "No related object") ;
3314 ········ownVar.Dummy = 4711;
3315 ········pm.Save();
3316 ········pm.UnloadCache();
3317 ········QueryOwn();
3318 Assert. NotNull( ownVar, "No Query Result") ;
3319 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
3320 Assert. NotNull( ownVar. RelField, "No related object") ;
3321 ····}
3322 ····[Test]
3323 ····public void TestChangeKeyHolderRightNoTouch()
3324 ····{
3325 ········CreateObjects();
3326 ········QueryOther();
3327 Assert. NotNull( otherVar, "No Query Result") ;
3328 Assert. NotNull( otherVar. RelField, "No related object") ;
3329 ········otherVar.Dummy = 4711;
3330 ········pm.Save();
3331 ········pm.UnloadCache();
3332 ········QueryOther();
3333 Assert. NotNull( otherVar, "No Query Result") ;
3334 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
3335 Assert. NotNull( otherVar. RelField, "No related object") ;
3336 ····}
3337 ····[Test]
3338 ····public void TestRelationHash()
3339 ····{
3340 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconTblAutoLeftBase));
3341 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
3342 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconTblAutoRight));
3343 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
3344 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
3345 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
3346 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconTblAutoLeftDerived));
3347 ········Relation relderLeft = clderLeft.FindRelation("relField");
3348 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
3349 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
3350 ····}
3351 ····void CreateObjects()
3352 ····{
3353 ········pm.MakePersistent(ownVar);
3354 ········pm.MakePersistent(otherVar);
3355 ········pm.Save();
3356 ········ownVar.AssignRelation(otherVar);
3357 ········pm.Save();
3358 ········pm.UnloadCache();
3359 ····}
3360 ····void QueryOwn()
3361 ····{
3362 ········var q = new NDOQuery<AgrBi11OwnpconTblAutoLeftBase>(pm);
3363 ········ownVar = q.ExecuteSingle();
3364 ····}
3365 ····void QueryOther()
3366 ····{
3367 ········var q = new NDOQuery<AgrBi11OwnpconTblAutoRight>(pm);
3368 ········otherVar = q.ExecuteSingle();
3369 ····}
3370 }
3371
3372
3373 [TestFixture]
3374 public class TestAgrDirnOwnpconNoTblAuto
3375 {
3376 ····AgrDirnOwnpconNoTblAutoLeftBase ownVar;
3377 ····AgrDirnOwnpconNoTblAutoRight otherVar;
3378 ····PersistenceManager pm;
3379 ····[SetUp]
3380 ····public void Setup()
3381 ····{
3382 ········pm = PmFactory.NewPersistenceManager();
3383 ········ownVar = new AgrDirnOwnpconNoTblAutoLeftDerived();
3384 ········otherVar = new AgrDirnOwnpconNoTblAutoRight();
3385 ····}
3386 ····[TearDown]
3387 ····public void TearDown()
3388 ····{
3389 ········try
3390 ········{
3391 ············pm.UnloadCache();
3392 ············var l = pm.Objects<AgrDirnOwnpconNoTblAutoLeftBase>().ResultTable;
3393 ············pm.Delete(l);
3394 ············pm.Save();
3395 ············pm.UnloadCache();
3396 ············var m = pm.Objects<AgrDirnOwnpconNoTblAutoRight>().ResultTable;
3397 ············pm.Delete(m);
3398 ············pm.Save();
3399 ············pm.UnloadCache();
3400 ············decimal count;
3401 ············count = (decimal) new NDOQuery<AgrDirnOwnpconNoTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3402 Assert. AreEqual( 0, count, "Count wrong #1") ;
3403 ············count = (decimal) new NDOQuery<AgrDirnOwnpconNoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3404 Assert. AreEqual( 0, count, "Count wrong #2") ;
3405 ········}
3406 ········catch (Exception)
3407 ········{
3408 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
3409 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
3410 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
3411 ········}
3412 ····}
3413 ····[Test]
3414 ····public void TestSaveReload()
3415 ····{
3416 ········CreateObjects();
3417 ········QueryOwn();
3418 Assert. NotNull( ownVar, "No Query Result") ;
3419 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
3420 ····}
3421 ····[Test]
3422 ····public void TestSaveReloadNull()
3423 ····{
3424 ········CreateObjects();
3425 ········QueryOwn();
3426 Assert. NotNull( ownVar, "No Query Result") ;
3427 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
3428 ········ownVar.RelField = new List<AgrDirnOwnpconNoTblAutoRight>();
3429 ········pm.Save();
3430 ········pm.UnloadCache();
3431 ········QueryOwn();
3432 Assert. NotNull( ownVar, "No Query Result") ;
3433 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
3434 ····}
3435 ····[Test]
3436 ····public void TestSaveReloadRemove()
3437 ····{
3438 ········CreateObjects();
3439 ········QueryOwn();
3440 Assert. NotNull( ownVar, "No Query Result") ;
3441 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
3442 ········ownVar.RemoveRelatedObject();
3443 ········pm.Save();
3444 ········pm.UnloadCache();
3445 ········QueryOwn();
3446 Assert. NotNull( ownVar, "No Query Result") ;
3447 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
3448 ····}
3449 ····[Test]
3450 ····public void TestUpdateOrder()
3451 ····{
3452 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
3453 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
3454 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrDirnOwnpconNoTblAutoLeftBase)}))
3455 ················< ((int)mi.Invoke(mapping, new object[]{typeof(AgrDirnOwnpconNoTblAutoRight)})), "Wrong order #1");
3456 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrDirnOwnpconNoTblAutoLeftDerived)}))
3457 ················< ((int)mi.Invoke(mapping, new object[]{typeof(AgrDirnOwnpconNoTblAutoRight)})), "Wrong order #2");
3458 ········Debug.WriteLine("AgrDirnOwnpconNoTblAutoLeftBase");
3459 ····}
3460 ····void CreateObjects()
3461 ····{
3462 ········pm.MakePersistent(ownVar);
3463 ········pm.MakePersistent(otherVar);
3464 ········ownVar.AssignRelation(otherVar);
3465 ········pm.Save();
3466 ········pm.UnloadCache();
3467 ····}
3468 ····void QueryOwn()
3469 ····{
3470 ········var q = new NDOQuery<AgrDirnOwnpconNoTblAutoLeftBase>(pm);
3471 ········ownVar = q.ExecuteSingle();
3472 ····}
3473 ····void QueryOther()
3474 ····{
3475 ········var q = new NDOQuery<AgrDirnOwnpconNoTblAutoRight>(pm);
3476 ········otherVar = q.ExecuteSingle();
3477 ····}
3478 }
3479
3480
3481 [TestFixture]
3482 public class TestAgrDirnOwnpconTblAuto
3483 {
3484 ····AgrDirnOwnpconTblAutoLeftBase ownVar;
3485 ····AgrDirnOwnpconTblAutoRight otherVar;
3486 ····PersistenceManager pm;
3487 ····[SetUp]
3488 ····public void Setup()
3489 ····{
3490 ········pm = PmFactory.NewPersistenceManager();
3491 ········ownVar = new AgrDirnOwnpconTblAutoLeftDerived();
3492 ········otherVar = new AgrDirnOwnpconTblAutoRight();
3493 ····}
3494 ····[TearDown]
3495 ····public void TearDown()
3496 ····{
3497 ········try
3498 ········{
3499 ············pm.UnloadCache();
3500 ············var l = pm.Objects<AgrDirnOwnpconTblAutoLeftBase>().ResultTable;
3501 ············pm.Delete(l);
3502 ············pm.Save();
3503 ············pm.UnloadCache();
3504 ············var m = pm.Objects<AgrDirnOwnpconTblAutoRight>().ResultTable;
3505 ············pm.Delete(m);
3506 ············pm.Save();
3507 ············pm.UnloadCache();
3508 ············decimal count;
3509 ············count = (decimal) new NDOQuery<AgrDirnOwnpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3510 Assert. AreEqual( 0, count, "Count wrong #1") ;
3511 ············count = (decimal) new NDOQuery<AgrDirnOwnpconTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3512 Assert. AreEqual( 0, count, "Count wrong #2") ;
3513 ········}
3514 ········catch (Exception)
3515 ········{
3516 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
3517 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
3518 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
3519 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
3520 ········}
3521 ····}
3522 ····[Test]
3523 ····public void TestSaveReload()
3524 ····{
3525 ········CreateObjects();
3526 ········QueryOwn();
3527 Assert. NotNull( ownVar, "No Query Result") ;
3528 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
3529 ····}
3530 ····[Test]
3531 ····public void TestSaveReloadNull()
3532 ····{
3533 ········CreateObjects();
3534 ········QueryOwn();
3535 Assert. NotNull( ownVar, "No Query Result") ;
3536 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
3537 ········ownVar.RelField = new List<AgrDirnOwnpconTblAutoRight>();
3538 ········pm.Save();
3539 ········pm.UnloadCache();
3540 ········QueryOwn();
3541 Assert. NotNull( ownVar, "No Query Result") ;
3542 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
3543 ····}
3544 ····[Test]
3545 ····public void TestSaveReloadRemove()
3546 ····{
3547 ········CreateObjects();
3548 ········QueryOwn();
3549 Assert. NotNull( ownVar, "No Query Result") ;
3550 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
3551 ········ownVar.RemoveRelatedObject();
3552 ········pm.Save();
3553 ········pm.UnloadCache();
3554 ········QueryOwn();
3555 Assert. NotNull( ownVar, "No Query Result") ;
3556 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
3557 ····}
3558 ····void CreateObjects()
3559 ····{
3560 ········pm.MakePersistent(ownVar);
3561 ········pm.MakePersistent(otherVar);
3562 ········ownVar.AssignRelation(otherVar);
3563 ········pm.Save();
3564 ········pm.UnloadCache();
3565 ····}
3566 ····void QueryOwn()
3567 ····{
3568 ········var q = new NDOQuery<AgrDirnOwnpconTblAutoLeftBase>(pm);
3569 ········ownVar = q.ExecuteSingle();
3570 ····}
3571 ····void QueryOther()
3572 ····{
3573 ········var q = new NDOQuery<AgrDirnOwnpconTblAutoRight>(pm);
3574 ········otherVar = q.ExecuteSingle();
3575 ····}
3576 }
3577
3578
3579 [TestFixture]
3580 public class TestAgrBin1OwnpconNoTblAuto
3581 {
3582 ····AgrBin1OwnpconNoTblAutoLeftBase ownVar;
3583 ····AgrBin1OwnpconNoTblAutoRight otherVar;
3584 ····PersistenceManager pm;
3585 ····[SetUp]
3586 ····public void Setup()
3587 ····{
3588 ········pm = PmFactory.NewPersistenceManager();
3589 ········ownVar = new AgrBin1OwnpconNoTblAutoLeftDerived();
3590 ········otherVar = new AgrBin1OwnpconNoTblAutoRight();
3591 ····}
3592 ····[TearDown]
3593 ····public void TearDown()
3594 ····{
3595 ········try
3596 ········{
3597 ············pm.UnloadCache();
3598 ············var l = pm.Objects<AgrBin1OwnpconNoTblAutoLeftBase>().ResultTable;
3599 ············pm.Delete(l);
3600 ············pm.Save();
3601 ············pm.UnloadCache();
3602 ············var m = pm.Objects<AgrBin1OwnpconNoTblAutoRight>().ResultTable;
3603 ············pm.Delete(m);
3604 ············pm.Save();
3605 ············pm.UnloadCache();
3606 ············decimal count;
3607 ············count = (decimal) new NDOQuery<AgrBin1OwnpconNoTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3608 Assert. AreEqual( 0, count, "Count wrong #1") ;
3609 ············count = (decimal) new NDOQuery<AgrBin1OwnpconNoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3610 Assert. AreEqual( 0, count, "Count wrong #2") ;
3611 ········}
3612 ········catch (Exception)
3613 ········{
3614 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
3615 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
3616 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
3617 ········}
3618 ····}
3619 ····[Test]
3620 ····public void TestSaveReload()
3621 ····{
3622 ········CreateObjects();
3623 ········QueryOwn();
3624 Assert. NotNull( ownVar, "No Query Result") ;
3625 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
3626 ····}
3627 ····[Test]
3628 ····public void TestSaveReloadNull()
3629 ····{
3630 ········CreateObjects();
3631 ········QueryOwn();
3632 Assert. NotNull( ownVar, "No Query Result") ;
3633 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
3634 ········ownVar.RelField = new List<AgrBin1OwnpconNoTblAutoRight>();
3635 ········pm.Save();
3636 ········pm.UnloadCache();
3637 ········QueryOwn();
3638 Assert. NotNull( ownVar, "No Query Result") ;
3639 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
3640 ····}
3641 ····[Test]
3642 ····public void TestSaveReloadRemove()
3643 ····{
3644 ········CreateObjects();
3645 ········QueryOwn();
3646 Assert. NotNull( ownVar, "No Query Result") ;
3647 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
3648 ········ownVar.RemoveRelatedObject();
3649 ········pm.Save();
3650 ········pm.UnloadCache();
3651 ········QueryOwn();
3652 Assert. NotNull( ownVar, "No Query Result") ;
3653 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
3654 ····}
3655 ····[Test]
3656 ····public void TestChangeKeyHolderRight()
3657 ····{
3658 ········CreateObjects();
3659 ········QueryOther();
3660 Assert. NotNull( otherVar, "No Query Result") ;
3661 Assert. NotNull( otherVar. RelField, "No related object") ;
3662 ········int x = otherVar.RelField.Dummy;
3663 ········otherVar.Dummy = 4711;
3664 ········pm.Save();
3665 ········pm.UnloadCache();
3666 ········QueryOther();
3667 Assert. NotNull( otherVar, "No Query Result") ;
3668 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
3669 Assert. NotNull( otherVar. RelField, "No related object") ;
3670 ····}
3671 ····[Test]
3672 ····public void TestChangeKeyHolderRightNoTouch()
3673 ····{
3674 ········CreateObjects();
3675 ········QueryOther();
3676 Assert. NotNull( otherVar, "No Query Result") ;
3677 Assert. NotNull( otherVar. RelField, "No related object") ;
3678 ········otherVar.Dummy = 4711;
3679 ········pm.Save();
3680 ········pm.UnloadCache();
3681 ········QueryOther();
3682 Assert. NotNull( otherVar, "No Query Result") ;
3683 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
3684 Assert. NotNull( otherVar. RelField, "No related object") ;
3685 ····}
3686 ····[Test]
3687 ····public void TestUpdateOrder()
3688 ····{
3689 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
3690 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
3691 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrBin1OwnpconNoTblAutoLeftBase)}))
3692 ················< ((int)mi.Invoke(mapping, new object[]{typeof(AgrBin1OwnpconNoTblAutoRight)})), "Wrong order #1");
3693 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrBin1OwnpconNoTblAutoLeftDerived)}))
3694 ················< ((int)mi.Invoke(mapping, new object[]{typeof(AgrBin1OwnpconNoTblAutoRight)})), "Wrong order #2");
3695 ········Debug.WriteLine("AgrBin1OwnpconNoTblAutoLeftBase");
3696 ····}
3697 ····[Test]
3698 ····public void TestRelationHash()
3699 ····{
3700 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBin1OwnpconNoTblAutoLeftBase));
3701 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
3702 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBin1OwnpconNoTblAutoRight));
3703 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
3704 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
3705 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
3706 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(AgrBin1OwnpconNoTblAutoLeftDerived));
3707 ········Relation relderLeft = clderLeft.FindRelation("relField");
3708 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
3709 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
3710 ····}
3711 ····void CreateObjects()
3712 ····{
3713 ········pm.MakePersistent(ownVar);
3714 ········pm.MakePersistent(otherVar);
3715 ········pm.Save();
3716 ········ownVar.AssignRelation(otherVar);
3717 ········pm.Save();
3718 ········pm.UnloadCache();
3719 ····}
3720 ····void QueryOwn()
3721 ····{
3722 ········var q = new NDOQuery<AgrBin1OwnpconNoTblAutoLeftBase>(pm);
3723 ········ownVar = q.ExecuteSingle();
3724 ····}
3725 ····void QueryOther()
3726 ····{
3727 ········var q = new NDOQuery<AgrBin1OwnpconNoTblAutoRight>(pm);
3728 ········otherVar = q.ExecuteSingle();
3729 ····}
3730 }
3731
3732
3733 [TestFixture]
3734 public class TestAgrBin1OwnpconTblAuto
3735 {
3736 ····AgrBin1OwnpconTblAutoLeftBase ownVar;
3737 ····AgrBin1OwnpconTblAutoRight otherVar;
3738 ····PersistenceManager pm;
3739 ····[SetUp]
3740 ····public void Setup()
3741 ····{
3742 ········pm = PmFactory.NewPersistenceManager();
3743 ········ownVar = new AgrBin1OwnpconTblAutoLeftDerived();
3744 ········otherVar = new AgrBin1OwnpconTblAutoRight();
3745 ····}
3746 ····[TearDown]
3747 ····public void TearDown()
3748 ····{
3749 ········try
3750 ········{
3751 ············pm.UnloadCache();
3752 ············var l = pm.Objects<AgrBin1OwnpconTblAutoLeftBase>().ResultTable;
3753 ············pm.Delete(l);
3754 ············pm.Save();
3755 ············pm.UnloadCache();
3756 ············var m = pm.Objects<AgrBin1OwnpconTblAutoRight>().ResultTable;
3757 ············pm.Delete(m);
3758 ············pm.Save();
3759 ············pm.UnloadCache();
3760 ············decimal count;
3761 ············count = (decimal) new NDOQuery<AgrBin1OwnpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3762 Assert. AreEqual( 0, count, "Count wrong #1") ;
3763 ············count = (decimal) new NDOQuery<AgrBin1OwnpconTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3764 Assert. AreEqual( 0, count, "Count wrong #2") ;
3765 ········}
3766 ········catch (Exception)
3767 ········{
3768 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
3769 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
3770 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
3771 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
3772 ········}
3773 ····}
3774 ····[Test]
3775 ····public void TestSaveReload()
3776 ····{
3777 ········CreateObjects();
3778 ········QueryOwn();
3779 Assert. NotNull( ownVar, "No Query Result") ;
3780 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
3781 ····}
3782 ····[Test]
3783 ····public void TestSaveReloadNull()
3784 ····{
3785 ········CreateObjects();
3786 ········QueryOwn();
3787 Assert. NotNull( ownVar, "No Query Result") ;
3788 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
3789 ········ownVar.RelField = new List<AgrBin1OwnpconTblAutoRight>();
3790 ········pm.Save();
3791 ········pm.UnloadCache();
3792 ········QueryOwn();
3793 Assert. NotNull( ownVar, "No Query Result") ;
3794 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
3795 ····}
3796 ····[Test]
3797 ····public void TestSaveReloadRemove()
3798 ····{
3799 ········CreateObjects();
3800 ········QueryOwn();
3801 Assert. NotNull( ownVar, "No Query Result") ;
3802 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
3803 ········ownVar.RemoveRelatedObject();
3804 ········pm.Save();
3805 ········pm.UnloadCache();
3806 ········QueryOwn();
3807 Assert. NotNull( ownVar, "No Query Result") ;
3808 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
3809 ····}
3810 ····[Test]
3811 ····public void TestChangeKeyHolderRight()
3812 ····{
3813 ········CreateObjects();
3814 ········QueryOther();
3815 Assert. NotNull( otherVar, "No Query Result") ;
3816 Assert. NotNull( otherVar. RelField, "No related object") ;
3817 ········int x = otherVar.RelField.Dummy;
3818 ········otherVar.Dummy = 4711;
3819 ········pm.Save();
3820 ········pm.UnloadCache();
3821 ········QueryOther();
3822 Assert. NotNull( otherVar, "No Query Result") ;
3823 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
3824 Assert. NotNull( otherVar. RelField, "No related object") ;
3825 ····}
3826 ····[Test]
3827 ····public void TestChangeKeyHolderRightNoTouch()
3828 ····{
3829 ········CreateObjects();
3830 ········QueryOther();
3831 Assert. NotNull( otherVar, "No Query Result") ;
3832 Assert. NotNull( otherVar. RelField, "No related object") ;
3833 ········otherVar.Dummy = 4711;
3834 ········pm.Save();
3835 ········pm.UnloadCache();
3836 ········QueryOther();
3837 Assert. NotNull( otherVar, "No Query Result") ;
3838 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
3839 Assert. NotNull( otherVar. RelField, "No related object") ;
3840 ····}
3841 ····[Test]
3842 ····public void TestRelationHash()
3843 ····{
3844 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBin1OwnpconTblAutoLeftBase));
3845 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
3846 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBin1OwnpconTblAutoRight));
3847 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
3848 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
3849 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
3850 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(AgrBin1OwnpconTblAutoLeftDerived));
3851 ········Relation relderLeft = clderLeft.FindRelation("relField");
3852 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
3853 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
3854 ····}
3855 ····void CreateObjects()
3856 ····{
3857 ········pm.MakePersistent(ownVar);
3858 ········pm.MakePersistent(otherVar);
3859 ········pm.Save();
3860 ········ownVar.AssignRelation(otherVar);
3861 ········pm.Save();
3862 ········pm.UnloadCache();
3863 ····}
3864 ····void QueryOwn()
3865 ····{
3866 ········var q = new NDOQuery<AgrBin1OwnpconTblAutoLeftBase>(pm);
3867 ········ownVar = q.ExecuteSingle();
3868 ····}
3869 ····void QueryOther()
3870 ····{
3871 ········var q = new NDOQuery<AgrBin1OwnpconTblAutoRight>(pm);
3872 ········otherVar = q.ExecuteSingle();
3873 ····}
3874 }
3875
3876
3877 [TestFixture]
3878 public class TestAgrBi1nOwnpconTblAuto
3879 {
3880 ····AgrBi1nOwnpconTblAutoLeftBase ownVar;
3881 ····AgrBi1nOwnpconTblAutoRight otherVar;
3882 ····PersistenceManager pm;
3883 ····[SetUp]
3884 ····public void Setup()
3885 ····{
3886 ········pm = PmFactory.NewPersistenceManager();
3887 ········ownVar = new AgrBi1nOwnpconTblAutoLeftDerived();
3888 ········otherVar = new AgrBi1nOwnpconTblAutoRight();
3889 ····}
3890 ····[TearDown]
3891 ····public void TearDown()
3892 ····{
3893 ········try
3894 ········{
3895 ············pm.UnloadCache();
3896 ············var l = pm.Objects<AgrBi1nOwnpconTblAutoLeftBase>().ResultTable;
3897 ············pm.Delete(l);
3898 ············pm.Save();
3899 ············pm.UnloadCache();
3900 ············var m = pm.Objects<AgrBi1nOwnpconTblAutoRight>().ResultTable;
3901 ············pm.Delete(m);
3902 ············pm.Save();
3903 ············pm.UnloadCache();
3904 ············decimal count;
3905 ············count = (decimal) new NDOQuery<AgrBi1nOwnpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3906 Assert. AreEqual( 0, count, "Count wrong #1") ;
3907 ············count = (decimal) new NDOQuery<AgrBi1nOwnpconTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
3908 Assert. AreEqual( 0, count, "Count wrong #2") ;
3909 ········}
3910 ········catch (Exception)
3911 ········{
3912 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
3913 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
3914 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
3915 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
3916 ········}
3917 ····}
3918 ····[Test]
3919 ····public void TestSaveReload()
3920 ····{
3921 ········CreateObjects();
3922 ········QueryOwn();
3923 Assert. NotNull( ownVar, "No Query Result") ;
3924 Assert. NotNull( ownVar. RelField, "No related object") ;
3925 ····}
3926 ····[Test]
3927 ····public void TestSaveReloadNull()
3928 ····{
3929 ········CreateObjects();
3930 ········QueryOwn();
3931 Assert. NotNull( ownVar, "No Query Result") ;
3932 Assert. NotNull( ownVar. RelField, "No related object") ;
3933 ········ownVar.RelField = null;
3934 ········pm.Save();
3935 ········pm.UnloadCache();
3936 ········QueryOwn();
3937 Assert. NotNull( ownVar, "No Query Result") ;
3938 Assert. Null( ownVar. RelField, "There should be no object") ;
3939 ····}
3940 ····[Test]
3941 ····public void TestChangeKeyHolderLeft()
3942 ····{
3943 ········CreateObjects();
3944 ········QueryOwn();
3945 Assert. NotNull( ownVar, "No Query Result") ;
3946 Assert. NotNull( ownVar. RelField, "No related object") ;
3947 ········int x = ownVar.RelField.Dummy;
3948 ········ownVar.Dummy = 4711;
3949 ········pm.Save();
3950 ········pm.UnloadCache();
3951 ········QueryOwn();
3952 Assert. NotNull( ownVar, "No Query Result") ;
3953 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
3954 Assert. NotNull( ownVar. RelField, "No related object") ;
3955 ····}
3956 ····[Test]
3957 ····public void TestChangeKeyHolderLeftNoTouch()
3958 ····{
3959 ········CreateObjects();
3960 ········QueryOwn();
3961 Assert. NotNull( ownVar, "No Query Result") ;
3962 Assert. NotNull( ownVar. RelField, "No related object") ;
3963 ········ownVar.Dummy = 4711;
3964 ········pm.Save();
3965 ········pm.UnloadCache();
3966 ········QueryOwn();
3967 Assert. NotNull( ownVar, "No Query Result") ;
3968 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
3969 Assert. NotNull( ownVar. RelField, "No related object") ;
3970 ····}
3971 ····[Test]
3972 ····public void TestRelationHash()
3973 ····{
3974 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi1nOwnpconTblAutoLeftBase));
3975 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
3976 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi1nOwnpconTblAutoRight));
3977 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
3978 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
3979 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
3980 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(AgrBi1nOwnpconTblAutoLeftDerived));
3981 ········Relation relderLeft = clderLeft.FindRelation("relField");
3982 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
3983 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
3984 ····}
3985 ····void CreateObjects()
3986 ····{
3987 ········pm.MakePersistent(ownVar);
3988 ········pm.MakePersistent(otherVar);
3989 ········ownVar.AssignRelation(otherVar);
3990 ········pm.Save();
3991 ········pm.UnloadCache();
3992 ····}
3993 ····void QueryOwn()
3994 ····{
3995 ········var q = new NDOQuery<AgrBi1nOwnpconTblAutoLeftBase>(pm);
3996 ········ownVar = q.ExecuteSingle();
3997 ····}
3998 ····void QueryOther()
3999 ····{
4000 ········var q = new NDOQuery<AgrBi1nOwnpconTblAutoRight>(pm);
4001 ········otherVar = q.ExecuteSingle();
4002 ····}
4003 }
4004
4005
4006 [TestFixture]
4007 public class TestAgrBinnOwnpconTblAuto
4008 {
4009 ····AgrBinnOwnpconTblAutoLeftBase ownVar;
4010 ····AgrBinnOwnpconTblAutoRight otherVar;
4011 ····PersistenceManager pm;
4012 ····[SetUp]
4013 ····public void Setup()
4014 ····{
4015 ········pm = PmFactory.NewPersistenceManager();
4016 ········ownVar = new AgrBinnOwnpconTblAutoLeftDerived();
4017 ········otherVar = new AgrBinnOwnpconTblAutoRight();
4018 ····}
4019 ····[TearDown]
4020 ····public void TearDown()
4021 ····{
4022 ········try
4023 ········{
4024 ············pm.UnloadCache();
4025 ············var l = pm.Objects<AgrBinnOwnpconTblAutoLeftBase>().ResultTable;
4026 ············pm.Delete(l);
4027 ············pm.Save();
4028 ············pm.UnloadCache();
4029 ············var m = pm.Objects<AgrBinnOwnpconTblAutoRight>().ResultTable;
4030 ············pm.Delete(m);
4031 ············pm.Save();
4032 ············pm.UnloadCache();
4033 ············decimal count;
4034 ············count = (decimal) new NDOQuery<AgrBinnOwnpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4035 Assert. AreEqual( 0, count, "Count wrong #1") ;
4036 ············count = (decimal) new NDOQuery<AgrBinnOwnpconTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4037 Assert. AreEqual( 0, count, "Count wrong #2") ;
4038 ········}
4039 ········catch (Exception)
4040 ········{
4041 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
4042 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
4043 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
4044 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
4045 ········}
4046 ····}
4047 ····[Test]
4048 ····public void TestSaveReload()
4049 ····{
4050 ········CreateObjects();
4051 ········QueryOwn();
4052 Assert. NotNull( ownVar, "No Query Result") ;
4053 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
4054 ····}
4055 ····[Test]
4056 ····public void TestSaveReloadNull()
4057 ····{
4058 ········CreateObjects();
4059 ········QueryOwn();
4060 Assert. NotNull( ownVar, "No Query Result") ;
4061 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
4062 ········ownVar.RelField = new List<AgrBinnOwnpconTblAutoRight>();
4063 ········pm.Save();
4064 ········pm.UnloadCache();
4065 ········QueryOwn();
4066 Assert. NotNull( ownVar, "No Query Result") ;
4067 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
4068 ····}
4069 ····[Test]
4070 ····public void TestSaveReloadRemove()
4071 ····{
4072 ········CreateObjects();
4073 ········QueryOwn();
4074 Assert. NotNull( ownVar, "No Query Result") ;
4075 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
4076 ········ownVar.RemoveRelatedObject();
4077 ········pm.Save();
4078 ········pm.UnloadCache();
4079 ········QueryOwn();
4080 Assert. NotNull( ownVar, "No Query Result") ;
4081 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
4082 ····}
4083 ····[Test]
4084 ····public void TestRelationHash()
4085 ····{
4086 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBinnOwnpconTblAutoLeftBase));
4087 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
4088 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBinnOwnpconTblAutoRight));
4089 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
4090 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
4091 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
4092 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(AgrBinnOwnpconTblAutoLeftDerived));
4093 ········Relation relderLeft = clderLeft.FindRelation("relField");
4094 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
4095 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
4096 ····}
4097 ····void CreateObjects()
4098 ····{
4099 ········pm.MakePersistent(ownVar);
4100 ········pm.MakePersistent(otherVar);
4101 ········ownVar.AssignRelation(otherVar);
4102 ········pm.Save();
4103 ········pm.UnloadCache();
4104 ····}
4105 ····void QueryOwn()
4106 ····{
4107 ········var q = new NDOQuery<AgrBinnOwnpconTblAutoLeftBase>(pm);
4108 ········ownVar = q.ExecuteSingle();
4109 ····}
4110 ····void QueryOther()
4111 ····{
4112 ········var q = new NDOQuery<AgrBinnOwnpconTblAutoRight>(pm);
4113 ········otherVar = q.ExecuteSingle();
4114 ····}
4115 }
4116
4117
4118 [TestFixture]
4119 public class TestCmpDir1OwnpconNoTblAuto
4120 {
4121 ····CmpDir1OwnpconNoTblAutoLeftBase ownVar;
4122 ····CmpDir1OwnpconNoTblAutoRight otherVar;
4123 ····PersistenceManager pm;
4124 ····[SetUp]
4125 ····public void Setup()
4126 ····{
4127 ········pm = PmFactory.NewPersistenceManager();
4128 ········ownVar = new CmpDir1OwnpconNoTblAutoLeftDerived();
4129 ········otherVar = new CmpDir1OwnpconNoTblAutoRight();
4130 ····}
4131 ····[TearDown]
4132 ····public void TearDown()
4133 ····{
4134 ········try
4135 ········{
4136 ············pm.UnloadCache();
4137 ············var l = pm.Objects<CmpDir1OwnpconNoTblAutoLeftBase>().ResultTable;
4138 ············pm.Delete(l);
4139 ············pm.Save();
4140 ············pm.UnloadCache();
4141 ············decimal count;
4142 ············count = (decimal) new NDOQuery<CmpDir1OwnpconNoTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4143 Assert. AreEqual( 0, count, "Count wrong #1") ;
4144 ············count = (decimal) new NDOQuery<CmpDir1OwnpconNoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4145 Assert. AreEqual( 0, count, "Count wrong #2") ;
4146 ········}
4147 ········catch (Exception)
4148 ········{
4149 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
4150 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
4151 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
4152 ········}
4153 ····}
4154 ····[Test]
4155 ····public void TestSaveReload()
4156 ····{
4157 ········CreateObjects();
4158 ········QueryOwn();
4159 Assert. NotNull( ownVar, "No Query Result") ;
4160 Assert. NotNull( ownVar. RelField, "No related object") ;
4161 ····}
4162 ····[Test]
4163 ····public void TestSaveReloadNull()
4164 ····{
4165 ········CreateObjects();
4166 ········QueryOwn();
4167 Assert. NotNull( ownVar, "No Query Result") ;
4168 Assert. NotNull( ownVar. RelField, "No related object") ;
4169 ········ownVar.RelField = null;
4170 ········pm.Save();
4171 ········pm.UnloadCache();
4172 ········QueryOwn();
4173 Assert. NotNull( ownVar, "No Query Result") ;
4174 Assert. Null( ownVar. RelField, "There should be no object") ;
4175 ····}
4176 ····[Test]
4177 ····public void TestChangeKeyHolderLeft()
4178 ····{
4179 ········CreateObjects();
4180 ········QueryOwn();
4181 Assert. NotNull( ownVar, "No Query Result") ;
4182 Assert. NotNull( ownVar. RelField, "No related object") ;
4183 ········int x = ownVar.RelField.Dummy;
4184 ········ownVar.Dummy = 4711;
4185 ········pm.Save();
4186 ········pm.UnloadCache();
4187 ········QueryOwn();
4188 Assert. NotNull( ownVar, "No Query Result") ;
4189 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
4190 Assert. NotNull( ownVar. RelField, "No related object") ;
4191 ····}
4192 ····[Test]
4193 ····public void TestChangeKeyHolderLeftNoTouch()
4194 ····{
4195 ········CreateObjects();
4196 ········QueryOwn();
4197 Assert. NotNull( ownVar, "No Query Result") ;
4198 Assert. NotNull( ownVar. RelField, "No related object") ;
4199 ········ownVar.Dummy = 4711;
4200 ········pm.Save();
4201 ········pm.UnloadCache();
4202 ········QueryOwn();
4203 Assert. NotNull( ownVar, "No Query Result") ;
4204 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
4205 Assert. NotNull( ownVar. RelField, "No related object") ;
4206 ····}
4207 ····[Test]
4208 ····public void TestUpdateOrder()
4209 ····{
4210 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
4211 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
4212 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(CmpDir1OwnpconNoTblAutoLeftBase)}))
4213 ················> ((int)mi.Invoke(mapping, new object[]{typeof(CmpDir1OwnpconNoTblAutoRight)})), "Wrong order #1");
4214 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(CmpDir1OwnpconNoTblAutoLeftDerived)}))
4215 ················> ((int)mi.Invoke(mapping, new object[]{typeof(CmpDir1OwnpconNoTblAutoRight)})), "Wrong order #2");
4216 ········Debug.WriteLine("CmpDir1OwnpconNoTblAutoLeftBase");
4217 ····}
4218 ····void CreateObjects()
4219 ····{
4220 ········pm.MakePersistent(ownVar);
4221 ········pm.Save();
4222 ········ownVar.AssignRelation(otherVar);
4223 ········pm.Save();
4224 ········pm.UnloadCache();
4225 ····}
4226 ····void QueryOwn()
4227 ····{
4228 ········var q = new NDOQuery<CmpDir1OwnpconNoTblAutoLeftBase>(pm);
4229 ········ownVar = q.ExecuteSingle();
4230 ····}
4231 ····void QueryOther()
4232 ····{
4233 ········var q = new NDOQuery<CmpDir1OwnpconNoTblAutoRight>(pm);
4234 ········otherVar = q.ExecuteSingle();
4235 ····}
4236 }
4237
4238
4239 [TestFixture]
4240 public class TestCmpDir1OwnpconTblAuto
4241 {
4242 ····CmpDir1OwnpconTblAutoLeftBase ownVar;
4243 ····CmpDir1OwnpconTblAutoRight otherVar;
4244 ····PersistenceManager pm;
4245 ····[SetUp]
4246 ····public void Setup()
4247 ····{
4248 ········pm = PmFactory.NewPersistenceManager();
4249 ········ownVar = new CmpDir1OwnpconTblAutoLeftDerived();
4250 ········otherVar = new CmpDir1OwnpconTblAutoRight();
4251 ····}
4252 ····[TearDown]
4253 ····public void TearDown()
4254 ····{
4255 ········try
4256 ········{
4257 ············pm.UnloadCache();
4258 ············var l = pm.Objects<CmpDir1OwnpconTblAutoLeftBase>().ResultTable;
4259 ············pm.Delete(l);
4260 ············pm.Save();
4261 ············pm.UnloadCache();
4262 ············decimal count;
4263 ············count = (decimal) new NDOQuery<CmpDir1OwnpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4264 Assert. AreEqual( 0, count, "Count wrong #1") ;
4265 ············count = (decimal) new NDOQuery<CmpDir1OwnpconTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4266 Assert. AreEqual( 0, count, "Count wrong #2") ;
4267 ········}
4268 ········catch (Exception)
4269 ········{
4270 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
4271 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
4272 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
4273 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
4274 ········}
4275 ····}
4276 ····[Test]
4277 ····public void TestSaveReload()
4278 ····{
4279 ········CreateObjects();
4280 ········QueryOwn();
4281 Assert. NotNull( ownVar, "No Query Result") ;
4282 Assert. NotNull( ownVar. RelField, "No related object") ;
4283 ····}
4284 ····[Test]
4285 ····public void TestSaveReloadNull()
4286 ····{
4287 ········CreateObjects();
4288 ········QueryOwn();
4289 Assert. NotNull( ownVar, "No Query Result") ;
4290 Assert. NotNull( ownVar. RelField, "No related object") ;
4291 ········ownVar.RelField = null;
4292 ········pm.Save();
4293 ········pm.UnloadCache();
4294 ········QueryOwn();
4295 Assert. NotNull( ownVar, "No Query Result") ;
4296 Assert. Null( ownVar. RelField, "There should be no object") ;
4297 ····}
4298 ····[Test]
4299 ····public void TestChangeKeyHolderLeft()
4300 ····{
4301 ········CreateObjects();
4302 ········QueryOwn();
4303 Assert. NotNull( ownVar, "No Query Result") ;
4304 Assert. NotNull( ownVar. RelField, "No related object") ;
4305 ········int x = ownVar.RelField.Dummy;
4306 ········ownVar.Dummy = 4711;
4307 ········pm.Save();
4308 ········pm.UnloadCache();
4309 ········QueryOwn();
4310 Assert. NotNull( ownVar, "No Query Result") ;
4311 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
4312 Assert. NotNull( ownVar. RelField, "No related object") ;
4313 ····}
4314 ····[Test]
4315 ····public void TestChangeKeyHolderLeftNoTouch()
4316 ····{
4317 ········CreateObjects();
4318 ········QueryOwn();
4319 Assert. NotNull( ownVar, "No Query Result") ;
4320 Assert. NotNull( ownVar. RelField, "No related object") ;
4321 ········ownVar.Dummy = 4711;
4322 ········pm.Save();
4323 ········pm.UnloadCache();
4324 ········QueryOwn();
4325 Assert. NotNull( ownVar, "No Query Result") ;
4326 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
4327 Assert. NotNull( ownVar. RelField, "No related object") ;
4328 ····}
4329 ····void CreateObjects()
4330 ····{
4331 ········pm.MakePersistent(ownVar);
4332 ········ownVar.AssignRelation(otherVar);
4333 ········pm.Save();
4334 ········pm.UnloadCache();
4335 ····}
4336 ····void QueryOwn()
4337 ····{
4338 ········var q = new NDOQuery<CmpDir1OwnpconTblAutoLeftBase>(pm);
4339 ········ownVar = q.ExecuteSingle();
4340 ····}
4341 ····void QueryOther()
4342 ····{
4343 ········var q = new NDOQuery<CmpDir1OwnpconTblAutoRight>(pm);
4344 ········otherVar = q.ExecuteSingle();
4345 ····}
4346 }
4347
4348
4349 [TestFixture]
4350 public class TestCmpBi11OwnpconNoTblAuto
4351 {
4352 ····CmpBi11OwnpconNoTblAutoLeftBase ownVar;
4353 ····CmpBi11OwnpconNoTblAutoRight otherVar;
4354 ····PersistenceManager pm;
4355 ····[SetUp]
4356 ····public void Setup()
4357 ····{
4358 ········pm = PmFactory.NewPersistenceManager();
4359 ········ownVar = new CmpBi11OwnpconNoTblAutoLeftDerived();
4360 ········otherVar = new CmpBi11OwnpconNoTblAutoRight();
4361 ····}
4362 ····[TearDown]
4363 ····public void TearDown()
4364 ····{
4365 ········try
4366 ········{
4367 ············pm.UnloadCache();
4368 ············var l = pm.Objects<CmpBi11OwnpconNoTblAutoLeftBase>().ResultTable;
4369 ············pm.Delete(l);
4370 ············pm.Save();
4371 ············pm.UnloadCache();
4372 ············decimal count;
4373 ············count = (decimal) new NDOQuery<CmpBi11OwnpconNoTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4374 Assert. AreEqual( 0, count, "Count wrong #1") ;
4375 ············count = (decimal) new NDOQuery<CmpBi11OwnpconNoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4376 Assert. AreEqual( 0, count, "Count wrong #2") ;
4377 ········}
4378 ········catch (Exception)
4379 ········{
4380 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
4381 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
4382 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
4383 ········}
4384 ····}
4385 ····[Test]
4386 ····public void TestSaveReload()
4387 ····{
4388 ········CreateObjects();
4389 ········QueryOwn();
4390 Assert. NotNull( ownVar, "No Query Result") ;
4391 Assert. NotNull( ownVar. RelField, "No related object") ;
4392 ····}
4393 ····[Test]
4394 ····public void TestSaveReloadNull()
4395 ····{
4396 ········CreateObjects();
4397 ········QueryOwn();
4398 Assert. NotNull( ownVar, "No Query Result") ;
4399 Assert. NotNull( ownVar. RelField, "No related object") ;
4400 ········ownVar.RelField = null;
4401 ········pm.Save();
4402 ········pm.UnloadCache();
4403 ········QueryOwn();
4404 Assert. NotNull( ownVar, "No Query Result") ;
4405 Assert. Null( ownVar. RelField, "There should be no object") ;
4406 ····}
4407 ····[Test]
4408 ····public void TestChangeKeyHolderLeft()
4409 ····{
4410 ········CreateObjects();
4411 ········QueryOwn();
4412 Assert. NotNull( ownVar, "No Query Result") ;
4413 Assert. NotNull( ownVar. RelField, "No related object") ;
4414 ········int x = ownVar.RelField.Dummy;
4415 ········ownVar.Dummy = 4711;
4416 ········pm.Save();
4417 ········pm.UnloadCache();
4418 ········QueryOwn();
4419 Assert. NotNull( ownVar, "No Query Result") ;
4420 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
4421 Assert. NotNull( ownVar. RelField, "No related object") ;
4422 ····}
4423 ····[Test]
4424 ····public void TestChangeKeyHolderRight()
4425 ····{
4426 ········CreateObjects();
4427 ········QueryOther();
4428 Assert. NotNull( otherVar, "No Query Result") ;
4429 Assert. NotNull( otherVar. RelField, "No related object") ;
4430 ········int x = otherVar.RelField.Dummy;
4431 ········otherVar.Dummy = 4711;
4432 ········pm.Save();
4433 ········pm.UnloadCache();
4434 ········QueryOther();
4435 Assert. NotNull( otherVar, "No Query Result") ;
4436 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
4437 Assert. NotNull( otherVar. RelField, "No related object") ;
4438 ····}
4439 ····[Test]
4440 ····public void TestChangeKeyHolderLeftNoTouch()
4441 ····{
4442 ········CreateObjects();
4443 ········QueryOwn();
4444 Assert. NotNull( ownVar, "No Query Result") ;
4445 Assert. NotNull( ownVar. RelField, "No related object") ;
4446 ········ownVar.Dummy = 4711;
4447 ········pm.Save();
4448 ········pm.UnloadCache();
4449 ········QueryOwn();
4450 Assert. NotNull( ownVar, "No Query Result") ;
4451 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
4452 Assert. NotNull( ownVar. RelField, "No related object") ;
4453 ····}
4454 ····[Test]
4455 ····public void TestChangeKeyHolderRightNoTouch()
4456 ····{
4457 ········CreateObjects();
4458 ········QueryOther();
4459 Assert. NotNull( otherVar, "No Query Result") ;
4460 Assert. NotNull( otherVar. RelField, "No related object") ;
4461 ········otherVar.Dummy = 4711;
4462 ········pm.Save();
4463 ········pm.UnloadCache();
4464 ········QueryOther();
4465 Assert. NotNull( otherVar, "No Query Result") ;
4466 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
4467 Assert. NotNull( otherVar. RelField, "No related object") ;
4468 ····}
4469 ····[Test]
4470 ····public void TestRelationHash()
4471 ····{
4472 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconNoTblAutoLeftBase));
4473 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
4474 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconNoTblAutoRight));
4475 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
4476 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
4477 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
4478 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconNoTblAutoLeftDerived));
4479 ········Relation relderLeft = clderLeft.FindRelation("relField");
4480 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
4481 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
4482 ····}
4483 ····void CreateObjects()
4484 ····{
4485 ········pm.MakePersistent(ownVar);
4486 ········pm.Save();
4487 ········ownVar.AssignRelation(otherVar);
4488 ········pm.Save();
4489 ········pm.UnloadCache();
4490 ····}
4491 ····void QueryOwn()
4492 ····{
4493 ········var q = new NDOQuery<CmpBi11OwnpconNoTblAutoLeftBase>(pm);
4494 ········ownVar = q.ExecuteSingle();
4495 ····}
4496 ····void QueryOther()
4497 ····{
4498 ········var q = new NDOQuery<CmpBi11OwnpconNoTblAutoRight>(pm);
4499 ········otherVar = q.ExecuteSingle();
4500 ····}
4501 }
4502
4503
4504 [TestFixture]
4505 public class TestCmpBi11OwnpconTblAuto
4506 {
4507 ····CmpBi11OwnpconTblAutoLeftBase ownVar;
4508 ····CmpBi11OwnpconTblAutoRight otherVar;
4509 ····PersistenceManager pm;
4510 ····[SetUp]
4511 ····public void Setup()
4512 ····{
4513 ········pm = PmFactory.NewPersistenceManager();
4514 ········ownVar = new CmpBi11OwnpconTblAutoLeftDerived();
4515 ········otherVar = new CmpBi11OwnpconTblAutoRight();
4516 ····}
4517 ····[TearDown]
4518 ····public void TearDown()
4519 ····{
4520 ········try
4521 ········{
4522 ············pm.UnloadCache();
4523 ············var l = pm.Objects<CmpBi11OwnpconTblAutoLeftBase>().ResultTable;
4524 ············pm.Delete(l);
4525 ············pm.Save();
4526 ············pm.UnloadCache();
4527 ············decimal count;
4528 ············count = (decimal) new NDOQuery<CmpBi11OwnpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4529 Assert. AreEqual( 0, count, "Count wrong #1") ;
4530 ············count = (decimal) new NDOQuery<CmpBi11OwnpconTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4531 Assert. AreEqual( 0, count, "Count wrong #2") ;
4532 ········}
4533 ········catch (Exception)
4534 ········{
4535 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
4536 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
4537 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
4538 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
4539 ········}
4540 ····}
4541 ····[Test]
4542 ····public void TestSaveReload()
4543 ····{
4544 ········CreateObjects();
4545 ········QueryOwn();
4546 Assert. NotNull( ownVar, "No Query Result") ;
4547 Assert. NotNull( ownVar. RelField, "No related object") ;
4548 ····}
4549 ····[Test]
4550 ····public void TestSaveReloadNull()
4551 ····{
4552 ········CreateObjects();
4553 ········QueryOwn();
4554 Assert. NotNull( ownVar, "No Query Result") ;
4555 Assert. NotNull( ownVar. RelField, "No related object") ;
4556 ········ownVar.RelField = null;
4557 ········pm.Save();
4558 ········pm.UnloadCache();
4559 ········QueryOwn();
4560 Assert. NotNull( ownVar, "No Query Result") ;
4561 Assert. Null( ownVar. RelField, "There should be no object") ;
4562 ····}
4563 ····[Test]
4564 ····public void TestChangeKeyHolderLeft()
4565 ····{
4566 ········CreateObjects();
4567 ········QueryOwn();
4568 Assert. NotNull( ownVar, "No Query Result") ;
4569 Assert. NotNull( ownVar. RelField, "No related object") ;
4570 ········int x = ownVar.RelField.Dummy;
4571 ········ownVar.Dummy = 4711;
4572 ········pm.Save();
4573 ········pm.UnloadCache();
4574 ········QueryOwn();
4575 Assert. NotNull( ownVar, "No Query Result") ;
4576 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
4577 Assert. NotNull( ownVar. RelField, "No related object") ;
4578 ····}
4579 ····[Test]
4580 ····public void TestChangeKeyHolderRight()
4581 ····{
4582 ········CreateObjects();
4583 ········QueryOther();
4584 Assert. NotNull( otherVar, "No Query Result") ;
4585 Assert. NotNull( otherVar. RelField, "No related object") ;
4586 ········int x = otherVar.RelField.Dummy;
4587 ········otherVar.Dummy = 4711;
4588 ········pm.Save();
4589 ········pm.UnloadCache();
4590 ········QueryOther();
4591 Assert. NotNull( otherVar, "No Query Result") ;
4592 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
4593 Assert. NotNull( otherVar. RelField, "No related object") ;
4594 ····}
4595 ····[Test]
4596 ····public void TestChangeKeyHolderLeftNoTouch()
4597 ····{
4598 ········CreateObjects();
4599 ········QueryOwn();
4600 Assert. NotNull( ownVar, "No Query Result") ;
4601 Assert. NotNull( ownVar. RelField, "No related object") ;
4602 ········ownVar.Dummy = 4711;
4603 ········pm.Save();
4604 ········pm.UnloadCache();
4605 ········QueryOwn();
4606 Assert. NotNull( ownVar, "No Query Result") ;
4607 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
4608 Assert. NotNull( ownVar. RelField, "No related object") ;
4609 ····}
4610 ····[Test]
4611 ····public void TestChangeKeyHolderRightNoTouch()
4612 ····{
4613 ········CreateObjects();
4614 ········QueryOther();
4615 Assert. NotNull( otherVar, "No Query Result") ;
4616 Assert. NotNull( otherVar. RelField, "No related object") ;
4617 ········otherVar.Dummy = 4711;
4618 ········pm.Save();
4619 ········pm.UnloadCache();
4620 ········QueryOther();
4621 Assert. NotNull( otherVar, "No Query Result") ;
4622 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
4623 Assert. NotNull( otherVar. RelField, "No related object") ;
4624 ····}
4625 ····[Test]
4626 ····public void TestRelationHash()
4627 ····{
4628 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconTblAutoLeftBase));
4629 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
4630 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconTblAutoRight));
4631 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
4632 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
4633 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
4634 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconTblAutoLeftDerived));
4635 ········Relation relderLeft = clderLeft.FindRelation("relField");
4636 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
4637 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
4638 ····}
4639 ····void CreateObjects()
4640 ····{
4641 ········pm.MakePersistent(ownVar);
4642 ········ownVar.AssignRelation(otherVar);
4643 ········pm.Save();
4644 ········pm.UnloadCache();
4645 ····}
4646 ····void QueryOwn()
4647 ····{
4648 ········var q = new NDOQuery<CmpBi11OwnpconTblAutoLeftBase>(pm);
4649 ········ownVar = q.ExecuteSingle();
4650 ····}
4651 ····void QueryOther()
4652 ····{
4653 ········var q = new NDOQuery<CmpBi11OwnpconTblAutoRight>(pm);
4654 ········otherVar = q.ExecuteSingle();
4655 ····}
4656 }
4657
4658
4659 [TestFixture]
4660 public class TestCmpDirnOwnpconNoTblAuto
4661 {
4662 ····CmpDirnOwnpconNoTblAutoLeftBase ownVar;
4663 ····CmpDirnOwnpconNoTblAutoRight otherVar;
4664 ····PersistenceManager pm;
4665 ····[SetUp]
4666 ····public void Setup()
4667 ····{
4668 ········pm = PmFactory.NewPersistenceManager();
4669 ········ownVar = new CmpDirnOwnpconNoTblAutoLeftDerived();
4670 ········otherVar = new CmpDirnOwnpconNoTblAutoRight();
4671 ····}
4672 ····[TearDown]
4673 ····public void TearDown()
4674 ····{
4675 ········try
4676 ········{
4677 ············pm.UnloadCache();
4678 ············var l = pm.Objects<CmpDirnOwnpconNoTblAutoLeftBase>().ResultTable;
4679 ············pm.Delete(l);
4680 ············pm.Save();
4681 ············pm.UnloadCache();
4682 ············decimal count;
4683 ············count = (decimal) new NDOQuery<CmpDirnOwnpconNoTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4684 Assert. AreEqual( 0, count, "Count wrong #1") ;
4685 ············count = (decimal) new NDOQuery<CmpDirnOwnpconNoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4686 Assert. AreEqual( 0, count, "Count wrong #2") ;
4687 ········}
4688 ········catch (Exception)
4689 ········{
4690 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
4691 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
4692 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
4693 ········}
4694 ····}
4695 ····[Test]
4696 ····public void TestSaveReload()
4697 ····{
4698 ········CreateObjects();
4699 ········QueryOwn();
4700 Assert. NotNull( ownVar, "No Query Result") ;
4701 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
4702 ····}
4703 ····[Test]
4704 ····public void TestSaveReloadNull()
4705 ····{
4706 ········CreateObjects();
4707 ········QueryOwn();
4708 Assert. NotNull( ownVar, "No Query Result") ;
4709 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
4710 ········ownVar.RelField = new List<CmpDirnOwnpconNoTblAutoRight>();
4711 ········pm.Save();
4712 ········pm.UnloadCache();
4713 ········QueryOwn();
4714 Assert. NotNull( ownVar, "No Query Result") ;
4715 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
4716 ····}
4717 ····[Test]
4718 ····public void TestSaveReloadRemove()
4719 ····{
4720 ········CreateObjects();
4721 ········QueryOwn();
4722 Assert. NotNull( ownVar, "No Query Result") ;
4723 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
4724 ········ownVar.RemoveRelatedObject();
4725 ········pm.Save();
4726 ········pm.UnloadCache();
4727 ········QueryOwn();
4728 Assert. NotNull( ownVar, "No Query Result") ;
4729 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
4730 ····}
4731 ····[Test]
4732 ····public void TestUpdateOrder()
4733 ····{
4734 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
4735 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
4736 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(CmpDirnOwnpconNoTblAutoLeftBase)}))
4737 ················< ((int)mi.Invoke(mapping, new object[]{typeof(CmpDirnOwnpconNoTblAutoRight)})), "Wrong order #1");
4738 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(CmpDirnOwnpconNoTblAutoLeftDerived)}))
4739 ················< ((int)mi.Invoke(mapping, new object[]{typeof(CmpDirnOwnpconNoTblAutoRight)})), "Wrong order #2");
4740 ········Debug.WriteLine("CmpDirnOwnpconNoTblAutoLeftBase");
4741 ····}
4742 ····void CreateObjects()
4743 ····{
4744 ········pm.MakePersistent(ownVar);
4745 ········ownVar.AssignRelation(otherVar);
4746 ········pm.Save();
4747 ········pm.UnloadCache();
4748 ····}
4749 ····void QueryOwn()
4750 ····{
4751 ········var q = new NDOQuery<CmpDirnOwnpconNoTblAutoLeftBase>(pm);
4752 ········ownVar = q.ExecuteSingle();
4753 ····}
4754 ····void QueryOther()
4755 ····{
4756 ········var q = new NDOQuery<CmpDirnOwnpconNoTblAutoRight>(pm);
4757 ········otherVar = q.ExecuteSingle();
4758 ····}
4759 }
4760
4761
4762 [TestFixture]
4763 public class TestCmpDirnOwnpconTblAuto
4764 {
4765 ····CmpDirnOwnpconTblAutoLeftBase ownVar;
4766 ····CmpDirnOwnpconTblAutoRight otherVar;
4767 ····PersistenceManager pm;
4768 ····[SetUp]
4769 ····public void Setup()
4770 ····{
4771 ········pm = PmFactory.NewPersistenceManager();
4772 ········ownVar = new CmpDirnOwnpconTblAutoLeftDerived();
4773 ········otherVar = new CmpDirnOwnpconTblAutoRight();
4774 ····}
4775 ····[TearDown]
4776 ····public void TearDown()
4777 ····{
4778 ········try
4779 ········{
4780 ············pm.UnloadCache();
4781 ············var l = pm.Objects<CmpDirnOwnpconTblAutoLeftBase>().ResultTable;
4782 ············pm.Delete(l);
4783 ············pm.Save();
4784 ············pm.UnloadCache();
4785 ············decimal count;
4786 ············count = (decimal) new NDOQuery<CmpDirnOwnpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4787 Assert. AreEqual( 0, count, "Count wrong #1") ;
4788 ············count = (decimal) new NDOQuery<CmpDirnOwnpconTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4789 Assert. AreEqual( 0, count, "Count wrong #2") ;
4790 ········}
4791 ········catch (Exception)
4792 ········{
4793 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
4794 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
4795 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
4796 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
4797 ········}
4798 ····}
4799 ····[Test]
4800 ····public void TestSaveReload()
4801 ····{
4802 ········CreateObjects();
4803 ········QueryOwn();
4804 Assert. NotNull( ownVar, "No Query Result") ;
4805 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
4806 ····}
4807 ····[Test]
4808 ····public void TestSaveReloadNull()
4809 ····{
4810 ········CreateObjects();
4811 ········QueryOwn();
4812 Assert. NotNull( ownVar, "No Query Result") ;
4813 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
4814 ········ownVar.RelField = new List<CmpDirnOwnpconTblAutoRight>();
4815 ········pm.Save();
4816 ········pm.UnloadCache();
4817 ········QueryOwn();
4818 Assert. NotNull( ownVar, "No Query Result") ;
4819 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
4820 ····}
4821 ····[Test]
4822 ····public void TestSaveReloadRemove()
4823 ····{
4824 ········CreateObjects();
4825 ········QueryOwn();
4826 Assert. NotNull( ownVar, "No Query Result") ;
4827 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
4828 ········ownVar.RemoveRelatedObject();
4829 ········pm.Save();
4830 ········pm.UnloadCache();
4831 ········QueryOwn();
4832 Assert. NotNull( ownVar, "No Query Result") ;
4833 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
4834 ····}
4835 ····void CreateObjects()
4836 ····{
4837 ········pm.MakePersistent(ownVar);
4838 ········ownVar.AssignRelation(otherVar);
4839 ········pm.Save();
4840 ········pm.UnloadCache();
4841 ····}
4842 ····void QueryOwn()
4843 ····{
4844 ········var q = new NDOQuery<CmpDirnOwnpconTblAutoLeftBase>(pm);
4845 ········ownVar = q.ExecuteSingle();
4846 ····}
4847 ····void QueryOther()
4848 ····{
4849 ········var q = new NDOQuery<CmpDirnOwnpconTblAutoRight>(pm);
4850 ········otherVar = q.ExecuteSingle();
4851 ····}
4852 }
4853
4854
4855 [TestFixture]
4856 public class TestCmpBin1OwnpconNoTblAuto
4857 {
4858 ····CmpBin1OwnpconNoTblAutoLeftBase ownVar;
4859 ····CmpBin1OwnpconNoTblAutoRight otherVar;
4860 ····PersistenceManager pm;
4861 ····[SetUp]
4862 ····public void Setup()
4863 ····{
4864 ········pm = PmFactory.NewPersistenceManager();
4865 ········ownVar = new CmpBin1OwnpconNoTblAutoLeftDerived();
4866 ········otherVar = new CmpBin1OwnpconNoTblAutoRight();
4867 ····}
4868 ····[TearDown]
4869 ····public void TearDown()
4870 ····{
4871 ········try
4872 ········{
4873 ············pm.UnloadCache();
4874 ············var l = pm.Objects<CmpBin1OwnpconNoTblAutoLeftBase>().ResultTable;
4875 ············pm.Delete(l);
4876 ············pm.Save();
4877 ············pm.UnloadCache();
4878 ············decimal count;
4879 ············count = (decimal) new NDOQuery<CmpBin1OwnpconNoTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4880 Assert. AreEqual( 0, count, "Count wrong #1") ;
4881 ············count = (decimal) new NDOQuery<CmpBin1OwnpconNoTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
4882 Assert. AreEqual( 0, count, "Count wrong #2") ;
4883 ········}
4884 ········catch (Exception)
4885 ········{
4886 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
4887 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
4888 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
4889 ········}
4890 ····}
4891 ····[Test]
4892 ····public void TestSaveReload()
4893 ····{
4894 ········CreateObjects();
4895 ········QueryOwn();
4896 Assert. NotNull( ownVar, "No Query Result") ;
4897 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
4898 ····}
4899 ····[Test]
4900 ····public void TestSaveReloadNull()
4901 ····{
4902 ········CreateObjects();
4903 ········QueryOwn();
4904 Assert. NotNull( ownVar, "No Query Result") ;
4905 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
4906 ········ownVar.RelField = new List<CmpBin1OwnpconNoTblAutoRight>();
4907 ········pm.Save();
4908 ········pm.UnloadCache();
4909 ········QueryOwn();
4910 Assert. NotNull( ownVar, "No Query Result") ;
4911 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
4912 ····}
4913 ····[Test]
4914 ····public void TestSaveReloadRemove()
4915 ····{
4916 ········CreateObjects();
4917 ········QueryOwn();
4918 Assert. NotNull( ownVar, "No Query Result") ;
4919 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
4920 ········ownVar.RemoveRelatedObject();
4921 ········pm.Save();
4922 ········pm.UnloadCache();
4923 ········QueryOwn();
4924 Assert. NotNull( ownVar, "No Query Result") ;
4925 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
4926 ····}
4927 ····[Test]
4928 ····public void TestChangeKeyHolderRight()
4929 ····{
4930 ········CreateObjects();
4931 ········QueryOther();
4932 Assert. NotNull( otherVar, "No Query Result") ;
4933 Assert. NotNull( otherVar. RelField, "No related object") ;
4934 ········int x = otherVar.RelField.Dummy;
4935 ········otherVar.Dummy = 4711;
4936 ········pm.Save();
4937 ········pm.UnloadCache();
4938 ········QueryOther();
4939 Assert. NotNull( otherVar, "No Query Result") ;
4940 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
4941 Assert. NotNull( otherVar. RelField, "No related object") ;
4942 ····}
4943 ····[Test]
4944 ····public void TestChangeKeyHolderRightNoTouch()
4945 ····{
4946 ········CreateObjects();
4947 ········QueryOther();
4948 Assert. NotNull( otherVar, "No Query Result") ;
4949 Assert. NotNull( otherVar. RelField, "No related object") ;
4950 ········otherVar.Dummy = 4711;
4951 ········pm.Save();
4952 ········pm.UnloadCache();
4953 ········QueryOther();
4954 Assert. NotNull( otherVar, "No Query Result") ;
4955 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
4956 Assert. NotNull( otherVar. RelField, "No related object") ;
4957 ····}
4958 ····[Test]
4959 ····public void TestUpdateOrder()
4960 ····{
4961 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
4962 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
4963 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(CmpBin1OwnpconNoTblAutoLeftBase)}))
4964 ················< ((int)mi.Invoke(mapping, new object[]{typeof(CmpBin1OwnpconNoTblAutoRight)})), "Wrong order #1");
4965 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(CmpBin1OwnpconNoTblAutoLeftDerived)}))
4966 ················< ((int)mi.Invoke(mapping, new object[]{typeof(CmpBin1OwnpconNoTblAutoRight)})), "Wrong order #2");
4967 ········Debug.WriteLine("CmpBin1OwnpconNoTblAutoLeftBase");
4968 ····}
4969 ····[Test]
4970 ····public void TestRelationHash()
4971 ····{
4972 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBin1OwnpconNoTblAutoLeftBase));
4973 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
4974 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBin1OwnpconNoTblAutoRight));
4975 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
4976 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
4977 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
4978 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(CmpBin1OwnpconNoTblAutoLeftDerived));
4979 ········Relation relderLeft = clderLeft.FindRelation("relField");
4980 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
4981 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
4982 ····}
4983 ····void CreateObjects()
4984 ····{
4985 ········pm.MakePersistent(ownVar);
4986 ········ownVar.AssignRelation(otherVar);
4987 ········pm.Save();
4988 ········pm.UnloadCache();
4989 ····}
4990 ····void QueryOwn()
4991 ····{
4992 ········var q = new NDOQuery<CmpBin1OwnpconNoTblAutoLeftBase>(pm);
4993 ········ownVar = q.ExecuteSingle();
4994 ····}
4995 ····void QueryOther()
4996 ····{
4997 ········var q = new NDOQuery<CmpBin1OwnpconNoTblAutoRight>(pm);
4998 ········otherVar = q.ExecuteSingle();
4999 ····}
5000 }
5001
5002
5003 [TestFixture]
5004 public class TestCmpBin1OwnpconTblAuto
5005 {
5006 ····CmpBin1OwnpconTblAutoLeftBase ownVar;
5007 ····CmpBin1OwnpconTblAutoRight otherVar;
5008 ····PersistenceManager pm;
5009 ····[SetUp]
5010 ····public void Setup()
5011 ····{
5012 ········pm = PmFactory.NewPersistenceManager();
5013 ········ownVar = new CmpBin1OwnpconTblAutoLeftDerived();
5014 ········otherVar = new CmpBin1OwnpconTblAutoRight();
5015 ····}
5016 ····[TearDown]
5017 ····public void TearDown()
5018 ····{
5019 ········try
5020 ········{
5021 ············pm.UnloadCache();
5022 ············var l = pm.Objects<CmpBin1OwnpconTblAutoLeftBase>().ResultTable;
5023 ············pm.Delete(l);
5024 ············pm.Save();
5025 ············pm.UnloadCache();
5026 ············decimal count;
5027 ············count = (decimal) new NDOQuery<CmpBin1OwnpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5028 Assert. AreEqual( 0, count, "Count wrong #1") ;
5029 ············count = (decimal) new NDOQuery<CmpBin1OwnpconTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5030 Assert. AreEqual( 0, count, "Count wrong #2") ;
5031 ········}
5032 ········catch (Exception)
5033 ········{
5034 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
5035 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
5036 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
5037 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
5038 ········}
5039 ····}
5040 ····[Test]
5041 ····public void TestSaveReload()
5042 ····{
5043 ········CreateObjects();
5044 ········QueryOwn();
5045 Assert. NotNull( ownVar, "No Query Result") ;
5046 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
5047 ····}
5048 ····[Test]
5049 ····public void TestSaveReloadNull()
5050 ····{
5051 ········CreateObjects();
5052 ········QueryOwn();
5053 Assert. NotNull( ownVar, "No Query Result") ;
5054 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
5055 ········ownVar.RelField = new List<CmpBin1OwnpconTblAutoRight>();
5056 ········pm.Save();
5057 ········pm.UnloadCache();
5058 ········QueryOwn();
5059 Assert. NotNull( ownVar, "No Query Result") ;
5060 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
5061 ····}
5062 ····[Test]
5063 ····public void TestSaveReloadRemove()
5064 ····{
5065 ········CreateObjects();
5066 ········QueryOwn();
5067 Assert. NotNull( ownVar, "No Query Result") ;
5068 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
5069 ········ownVar.RemoveRelatedObject();
5070 ········pm.Save();
5071 ········pm.UnloadCache();
5072 ········QueryOwn();
5073 Assert. NotNull( ownVar, "No Query Result") ;
5074 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
5075 ····}
5076 ····[Test]
5077 ····public void TestChangeKeyHolderRight()
5078 ····{
5079 ········CreateObjects();
5080 ········QueryOther();
5081 Assert. NotNull( otherVar, "No Query Result") ;
5082 Assert. NotNull( otherVar. RelField, "No related object") ;
5083 ········int x = otherVar.RelField.Dummy;
5084 ········otherVar.Dummy = 4711;
5085 ········pm.Save();
5086 ········pm.UnloadCache();
5087 ········QueryOther();
5088 Assert. NotNull( otherVar, "No Query Result") ;
5089 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
5090 Assert. NotNull( otherVar. RelField, "No related object") ;
5091 ····}
5092 ····[Test]
5093 ····public void TestChangeKeyHolderRightNoTouch()
5094 ····{
5095 ········CreateObjects();
5096 ········QueryOther();
5097 Assert. NotNull( otherVar, "No Query Result") ;
5098 Assert. NotNull( otherVar. RelField, "No related object") ;
5099 ········otherVar.Dummy = 4711;
5100 ········pm.Save();
5101 ········pm.UnloadCache();
5102 ········QueryOther();
5103 Assert. NotNull( otherVar, "No Query Result") ;
5104 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
5105 Assert. NotNull( otherVar. RelField, "No related object") ;
5106 ····}
5107 ····[Test]
5108 ····public void TestRelationHash()
5109 ····{
5110 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBin1OwnpconTblAutoLeftBase));
5111 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
5112 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBin1OwnpconTblAutoRight));
5113 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
5114 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
5115 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
5116 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(CmpBin1OwnpconTblAutoLeftDerived));
5117 ········Relation relderLeft = clderLeft.FindRelation("relField");
5118 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
5119 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
5120 ····}
5121 ····void CreateObjects()
5122 ····{
5123 ········pm.MakePersistent(ownVar);
5124 ········ownVar.AssignRelation(otherVar);
5125 ········pm.Save();
5126 ········pm.UnloadCache();
5127 ····}
5128 ····void QueryOwn()
5129 ····{
5130 ········var q = new NDOQuery<CmpBin1OwnpconTblAutoLeftBase>(pm);
5131 ········ownVar = q.ExecuteSingle();
5132 ····}
5133 ····void QueryOther()
5134 ····{
5135 ········var q = new NDOQuery<CmpBin1OwnpconTblAutoRight>(pm);
5136 ········otherVar = q.ExecuteSingle();
5137 ····}
5138 }
5139
5140
5141 [TestFixture]
5142 public class TestCmpBi1nOwnpconTblAuto
5143 {
5144 ····CmpBi1nOwnpconTblAutoLeftBase ownVar;
5145 ····CmpBi1nOwnpconTblAutoRight otherVar;
5146 ····PersistenceManager pm;
5147 ····[SetUp]
5148 ····public void Setup()
5149 ····{
5150 ········pm = PmFactory.NewPersistenceManager();
5151 ········ownVar = new CmpBi1nOwnpconTblAutoLeftDerived();
5152 ········otherVar = new CmpBi1nOwnpconTblAutoRight();
5153 ····}
5154 ····[TearDown]
5155 ····public void TearDown()
5156 ····{
5157 ········try
5158 ········{
5159 ············pm.UnloadCache();
5160 ············var l = pm.Objects<CmpBi1nOwnpconTblAutoLeftBase>().ResultTable;
5161 ············pm.Delete(l);
5162 ············pm.Save();
5163 ············pm.UnloadCache();
5164 ············decimal count;
5165 ············count = (decimal) new NDOQuery<CmpBi1nOwnpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5166 Assert. AreEqual( 0, count, "Count wrong #1") ;
5167 ············count = (decimal) new NDOQuery<CmpBi1nOwnpconTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5168 Assert. AreEqual( 0, count, "Count wrong #2") ;
5169 ········}
5170 ········catch (Exception)
5171 ········{
5172 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
5173 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
5174 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
5175 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
5176 ········}
5177 ····}
5178 ····[Test]
5179 ····public void TestSaveReload()
5180 ····{
5181 ········CreateObjects();
5182 ········QueryOwn();
5183 Assert. NotNull( ownVar, "No Query Result") ;
5184 Assert. NotNull( ownVar. RelField, "No related object") ;
5185 ····}
5186 ····[Test]
5187 ····public void TestSaveReloadNull()
5188 ····{
5189 ········CreateObjects();
5190 ········QueryOwn();
5191 Assert. NotNull( ownVar, "No Query Result") ;
5192 Assert. NotNull( ownVar. RelField, "No related object") ;
5193 ········ownVar.RelField = null;
5194 ········pm.Save();
5195 ········pm.UnloadCache();
5196 ········QueryOwn();
5197 Assert. NotNull( ownVar, "No Query Result") ;
5198 Assert. Null( ownVar. RelField, "There should be no object") ;
5199 ····}
5200 ····[Test]
5201 ····public void TestChangeKeyHolderLeft()
5202 ····{
5203 ········CreateObjects();
5204 ········QueryOwn();
5205 Assert. NotNull( ownVar, "No Query Result") ;
5206 Assert. NotNull( ownVar. RelField, "No related object") ;
5207 ········int x = ownVar.RelField.Dummy;
5208 ········ownVar.Dummy = 4711;
5209 ········pm.Save();
5210 ········pm.UnloadCache();
5211 ········QueryOwn();
5212 Assert. NotNull( ownVar, "No Query Result") ;
5213 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
5214 Assert. NotNull( ownVar. RelField, "No related object") ;
5215 ····}
5216 ····[Test]
5217 ····public void TestChangeKeyHolderLeftNoTouch()
5218 ····{
5219 ········CreateObjects();
5220 ········QueryOwn();
5221 Assert. NotNull( ownVar, "No Query Result") ;
5222 Assert. NotNull( ownVar. RelField, "No related object") ;
5223 ········ownVar.Dummy = 4711;
5224 ········pm.Save();
5225 ········pm.UnloadCache();
5226 ········QueryOwn();
5227 Assert. NotNull( ownVar, "No Query Result") ;
5228 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
5229 Assert. NotNull( ownVar. RelField, "No related object") ;
5230 ····}
5231 ····[Test]
5232 ····public void TestRelationHash()
5233 ····{
5234 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi1nOwnpconTblAutoLeftBase));
5235 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
5236 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi1nOwnpconTblAutoRight));
5237 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
5238 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
5239 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
5240 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(CmpBi1nOwnpconTblAutoLeftDerived));
5241 ········Relation relderLeft = clderLeft.FindRelation("relField");
5242 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
5243 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
5244 ····}
5245 ····void CreateObjects()
5246 ····{
5247 ········pm.MakePersistent(ownVar);
5248 ········ownVar.AssignRelation(otherVar);
5249 ········pm.Save();
5250 ········pm.UnloadCache();
5251 ····}
5252 ····void QueryOwn()
5253 ····{
5254 ········var q = new NDOQuery<CmpBi1nOwnpconTblAutoLeftBase>(pm);
5255 ········ownVar = q.ExecuteSingle();
5256 ····}
5257 ····void QueryOther()
5258 ····{
5259 ········var q = new NDOQuery<CmpBi1nOwnpconTblAutoRight>(pm);
5260 ········otherVar = q.ExecuteSingle();
5261 ····}
5262 }
5263
5264
5265 [TestFixture]
5266 public class TestCmpBinnOwnpconTblAuto
5267 {
5268 ····CmpBinnOwnpconTblAutoLeftBase ownVar;
5269 ····CmpBinnOwnpconTblAutoRight otherVar;
5270 ····PersistenceManager pm;
5271 ····[SetUp]
5272 ····public void Setup()
5273 ····{
5274 ········pm = PmFactory.NewPersistenceManager();
5275 ········ownVar = new CmpBinnOwnpconTblAutoLeftDerived();
5276 ········otherVar = new CmpBinnOwnpconTblAutoRight();
5277 ····}
5278 ····[TearDown]
5279 ····public void TearDown()
5280 ····{
5281 ········try
5282 ········{
5283 ············pm.UnloadCache();
5284 ············var l = pm.Objects<CmpBinnOwnpconTblAutoLeftBase>().ResultTable;
5285 ············pm.Delete(l);
5286 ············pm.Save();
5287 ············pm.UnloadCache();
5288 ············decimal count;
5289 ············count = (decimal) new NDOQuery<CmpBinnOwnpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5290 Assert. AreEqual( 0, count, "Count wrong #1") ;
5291 ············count = (decimal) new NDOQuery<CmpBinnOwnpconTblAutoRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5292 Assert. AreEqual( 0, count, "Count wrong #2") ;
5293 ········}
5294 ········catch (Exception)
5295 ········{
5296 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
5297 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
5298 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
5299 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
5300 ········}
5301 ····}
5302 ····[Test]
5303 ····public void TestSaveReload()
5304 ····{
5305 ········CreateObjects();
5306 ········QueryOwn();
5307 Assert. NotNull( ownVar, "No Query Result") ;
5308 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
5309 ····}
5310 ····[Test]
5311 ····public void TestSaveReloadNull()
5312 ····{
5313 ········CreateObjects();
5314 ········QueryOwn();
5315 Assert. NotNull( ownVar, "No Query Result") ;
5316 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
5317 ········ownVar.RelField = new List<CmpBinnOwnpconTblAutoRight>();
5318 ········pm.Save();
5319 ········pm.UnloadCache();
5320 ········QueryOwn();
5321 Assert. NotNull( ownVar, "No Query Result") ;
5322 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
5323 ····}
5324 ····[Test]
5325 ····public void TestSaveReloadRemove()
5326 ····{
5327 ········CreateObjects();
5328 ········QueryOwn();
5329 Assert. NotNull( ownVar, "No Query Result") ;
5330 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
5331 ········ownVar.RemoveRelatedObject();
5332 ········pm.Save();
5333 ········pm.UnloadCache();
5334 ········QueryOwn();
5335 Assert. NotNull( ownVar, "No Query Result") ;
5336 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
5337 ····}
5338 ····[Test]
5339 ····public void TestRelationHash()
5340 ····{
5341 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBinnOwnpconTblAutoLeftBase));
5342 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
5343 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBinnOwnpconTblAutoRight));
5344 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
5345 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
5346 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
5347 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(CmpBinnOwnpconTblAutoLeftDerived));
5348 ········Relation relderLeft = clderLeft.FindRelation("relField");
5349 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
5350 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
5351 ····}
5352 ····void CreateObjects()
5353 ····{
5354 ········pm.MakePersistent(ownVar);
5355 ········ownVar.AssignRelation(otherVar);
5356 ········pm.Save();
5357 ········pm.UnloadCache();
5358 ····}
5359 ····void QueryOwn()
5360 ····{
5361 ········var q = new NDOQuery<CmpBinnOwnpconTblAutoLeftBase>(pm);
5362 ········ownVar = q.ExecuteSingle();
5363 ····}
5364 ····void QueryOther()
5365 ····{
5366 ········var q = new NDOQuery<CmpBinnOwnpconTblAutoRight>(pm);
5367 ········otherVar = q.ExecuteSingle();
5368 ····}
5369 }
5370
5371
5372 [TestFixture]
5373 public class TestAgrDir1OthpconNoTblAuto
5374 {
5375 ····AgrDir1OthpconNoTblAutoLeft ownVar;
5376 ····AgrDir1OthpconNoTblAutoRightBase otherVar;
5377 ····PersistenceManager pm;
5378 ····[SetUp]
5379 ····public void Setup()
5380 ····{
5381 ········pm = PmFactory.NewPersistenceManager();
5382 ········ownVar = new AgrDir1OthpconNoTblAutoLeft();
5383 ········otherVar = new AgrDir1OthpconNoTblAutoRightDerived();
5384 ····}
5385 ····[TearDown]
5386 ····public void TearDown()
5387 ····{
5388 ········try
5389 ········{
5390 ············pm.UnloadCache();
5391 ············var l = pm.Objects<AgrDir1OthpconNoTblAutoLeft>().ResultTable;
5392 ············pm.Delete(l);
5393 ············pm.Save();
5394 ············pm.UnloadCache();
5395 ············var m = pm.Objects<AgrDir1OthpconNoTblAutoRightBase>().ResultTable;
5396 ············pm.Delete(m);
5397 ············pm.Save();
5398 ············pm.UnloadCache();
5399 ············decimal count;
5400 ············count = (decimal) new NDOQuery<AgrDir1OthpconNoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5401 Assert. AreEqual( 0, count, "Count wrong #1") ;
5402 ············count = (decimal) new NDOQuery<AgrDir1OthpconNoTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5403 Assert. AreEqual( 0, count, "Count wrong #2") ;
5404 ········}
5405 ········catch (Exception)
5406 ········{
5407 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
5408 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
5409 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
5410 ········}
5411 ····}
5412 ····[Test]
5413 ····public void TestSaveReload()
5414 ····{
5415 ········CreateObjects();
5416 ········QueryOwn();
5417 Assert. NotNull( ownVar, "No Query Result") ;
5418 Assert. NotNull( ownVar. RelField, "No related object") ;
5419 ····}
5420 ····[Test]
5421 ····public void TestSaveReloadNull()
5422 ····{
5423 ········CreateObjects();
5424 ········QueryOwn();
5425 Assert. NotNull( ownVar, "No Query Result") ;
5426 Assert. NotNull( ownVar. RelField, "No related object") ;
5427 ········ownVar.RelField = null;
5428 ········pm.Save();
5429 ········pm.UnloadCache();
5430 ········QueryOwn();
5431 Assert. NotNull( ownVar, "No Query Result") ;
5432 Assert. Null( ownVar. RelField, "There should be no object") ;
5433 ····}
5434 ····[Test]
5435 ····public void TestChangeKeyHolderLeft()
5436 ····{
5437 ········CreateObjects();
5438 ········QueryOwn();
5439 Assert. NotNull( ownVar, "No Query Result") ;
5440 Assert. NotNull( ownVar. RelField, "No related object") ;
5441 ········int x = ownVar.RelField.Dummy;
5442 ········ownVar.Dummy = 4711;
5443 ········pm.Save();
5444 ········pm.UnloadCache();
5445 ········QueryOwn();
5446 Assert. NotNull( ownVar, "No Query Result") ;
5447 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
5448 Assert. NotNull( ownVar. RelField, "No related object") ;
5449 ····}
5450 ····[Test]
5451 ····public void TestChangeKeyHolderLeftNoTouch()
5452 ····{
5453 ········CreateObjects();
5454 ········QueryOwn();
5455 Assert. NotNull( ownVar, "No Query Result") ;
5456 Assert. NotNull( ownVar. RelField, "No related object") ;
5457 ········ownVar.Dummy = 4711;
5458 ········pm.Save();
5459 ········pm.UnloadCache();
5460 ········QueryOwn();
5461 Assert. NotNull( ownVar, "No Query Result") ;
5462 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
5463 Assert. NotNull( ownVar. RelField, "No related object") ;
5464 ····}
5465 ····[Test]
5466 ····public void TestUpdateOrder()
5467 ····{
5468 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
5469 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
5470 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1OthpconNoTblAutoLeft)}))
5471 ················> ((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1OthpconNoTblAutoRightBase)})), "Wrong order #1");
5472 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1OthpconNoTblAutoLeft)}))
5473 ················> ((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1OthpconNoTblAutoRightDerived)})), "Wrong order #2");
5474 ········Debug.WriteLine("AgrDir1OthpconNoTblAutoLeft");
5475 ····}
5476 ····void CreateObjects()
5477 ····{
5478 ········pm.MakePersistent(ownVar);
5479 ········pm.Save();
5480 ········pm.MakePersistent(otherVar);
5481 ········pm.Save();
5482 ········ownVar.AssignRelation(otherVar);
5483 ········pm.Save();
5484 ········pm.UnloadCache();
5485 ····}
5486 ····void QueryOwn()
5487 ····{
5488 ········var q = new NDOQuery<AgrDir1OthpconNoTblAutoLeft>(pm);
5489 ········ownVar = q.ExecuteSingle();
5490 ····}
5491 ····void QueryOther()
5492 ····{
5493 ········var q = new NDOQuery<AgrDir1OthpconNoTblAutoRightBase>(pm);
5494 ········otherVar = q.ExecuteSingle();
5495 ····}
5496 }
5497
5498
5499 [TestFixture]
5500 public class TestAgrDir1OthpconTblAuto
5501 {
5502 ····AgrDir1OthpconTblAutoLeft ownVar;
5503 ····AgrDir1OthpconTblAutoRightBase otherVar;
5504 ····PersistenceManager pm;
5505 ····[SetUp]
5506 ····public void Setup()
5507 ····{
5508 ········pm = PmFactory.NewPersistenceManager();
5509 ········ownVar = new AgrDir1OthpconTblAutoLeft();
5510 ········otherVar = new AgrDir1OthpconTblAutoRightDerived();
5511 ····}
5512 ····[TearDown]
5513 ····public void TearDown()
5514 ····{
5515 ········try
5516 ········{
5517 ············pm.UnloadCache();
5518 ············var l = pm.Objects<AgrDir1OthpconTblAutoLeft>().ResultTable;
5519 ············pm.Delete(l);
5520 ············pm.Save();
5521 ············pm.UnloadCache();
5522 ············var m = pm.Objects<AgrDir1OthpconTblAutoRightBase>().ResultTable;
5523 ············pm.Delete(m);
5524 ············pm.Save();
5525 ············pm.UnloadCache();
5526 ············decimal count;
5527 ············count = (decimal) new NDOQuery<AgrDir1OthpconTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5528 Assert. AreEqual( 0, count, "Count wrong #1") ;
5529 ············count = (decimal) new NDOQuery<AgrDir1OthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5530 Assert. AreEqual( 0, count, "Count wrong #2") ;
5531 ········}
5532 ········catch (Exception)
5533 ········{
5534 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
5535 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
5536 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
5537 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
5538 ········}
5539 ····}
5540 ····[Test]
5541 ····public void TestSaveReload()
5542 ····{
5543 ········CreateObjects();
5544 ········QueryOwn();
5545 Assert. NotNull( ownVar, "No Query Result") ;
5546 Assert. NotNull( ownVar. RelField, "No related object") ;
5547 ····}
5548 ····[Test]
5549 ····public void TestSaveReloadNull()
5550 ····{
5551 ········CreateObjects();
5552 ········QueryOwn();
5553 Assert. NotNull( ownVar, "No Query Result") ;
5554 Assert. NotNull( ownVar. RelField, "No related object") ;
5555 ········ownVar.RelField = null;
5556 ········pm.Save();
5557 ········pm.UnloadCache();
5558 ········QueryOwn();
5559 Assert. NotNull( ownVar, "No Query Result") ;
5560 Assert. Null( ownVar. RelField, "There should be no object") ;
5561 ····}
5562 ····[Test]
5563 ····public void TestChangeKeyHolderLeft()
5564 ····{
5565 ········CreateObjects();
5566 ········QueryOwn();
5567 Assert. NotNull( ownVar, "No Query Result") ;
5568 Assert. NotNull( ownVar. RelField, "No related object") ;
5569 ········int x = ownVar.RelField.Dummy;
5570 ········ownVar.Dummy = 4711;
5571 ········pm.Save();
5572 ········pm.UnloadCache();
5573 ········QueryOwn();
5574 Assert. NotNull( ownVar, "No Query Result") ;
5575 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
5576 Assert. NotNull( ownVar. RelField, "No related object") ;
5577 ····}
5578 ····[Test]
5579 ····public void TestChangeKeyHolderLeftNoTouch()
5580 ····{
5581 ········CreateObjects();
5582 ········QueryOwn();
5583 Assert. NotNull( ownVar, "No Query Result") ;
5584 Assert. NotNull( ownVar. RelField, "No related object") ;
5585 ········ownVar.Dummy = 4711;
5586 ········pm.Save();
5587 ········pm.UnloadCache();
5588 ········QueryOwn();
5589 Assert. NotNull( ownVar, "No Query Result") ;
5590 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
5591 Assert. NotNull( ownVar. RelField, "No related object") ;
5592 ····}
5593 ····void CreateObjects()
5594 ····{
5595 ········pm.MakePersistent(ownVar);
5596 ········pm.MakePersistent(otherVar);
5597 ········ownVar.AssignRelation(otherVar);
5598 ········pm.Save();
5599 ········pm.UnloadCache();
5600 ····}
5601 ····void QueryOwn()
5602 ····{
5603 ········var q = new NDOQuery<AgrDir1OthpconTblAutoLeft>(pm);
5604 ········ownVar = q.ExecuteSingle();
5605 ····}
5606 ····void QueryOther()
5607 ····{
5608 ········var q = new NDOQuery<AgrDir1OthpconTblAutoRightBase>(pm);
5609 ········otherVar = q.ExecuteSingle();
5610 ····}
5611 }
5612
5613
5614 [TestFixture]
5615 public class TestAgrBi11OthpconNoTblAuto
5616 {
5617 ····AgrBi11OthpconNoTblAutoLeft ownVar;
5618 ····AgrBi11OthpconNoTblAutoRightBase otherVar;
5619 ····PersistenceManager pm;
5620 ····[SetUp]
5621 ····public void Setup()
5622 ····{
5623 ········pm = PmFactory.NewPersistenceManager();
5624 ········ownVar = new AgrBi11OthpconNoTblAutoLeft();
5625 ········otherVar = new AgrBi11OthpconNoTblAutoRightDerived();
5626 ····}
5627 ····[TearDown]
5628 ····public void TearDown()
5629 ····{
5630 ········try
5631 ········{
5632 ············pm.UnloadCache();
5633 ············var l = pm.Objects<AgrBi11OthpconNoTblAutoLeft>().ResultTable;
5634 ············pm.Delete(l);
5635 ············pm.Save();
5636 ············pm.UnloadCache();
5637 ············var m = pm.Objects<AgrBi11OthpconNoTblAutoRightBase>().ResultTable;
5638 ············pm.Delete(m);
5639 ············pm.Save();
5640 ············pm.UnloadCache();
5641 ············decimal count;
5642 ············count = (decimal) new NDOQuery<AgrBi11OthpconNoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5643 Assert. AreEqual( 0, count, "Count wrong #1") ;
5644 ············count = (decimal) new NDOQuery<AgrBi11OthpconNoTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5645 Assert. AreEqual( 0, count, "Count wrong #2") ;
5646 ········}
5647 ········catch (Exception)
5648 ········{
5649 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
5650 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
5651 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
5652 ········}
5653 ····}
5654 ····[Test]
5655 ····public void TestSaveReload()
5656 ····{
5657 ········CreateObjects();
5658 ········QueryOwn();
5659 Assert. NotNull( ownVar, "No Query Result") ;
5660 Assert. NotNull( ownVar. RelField, "No related object") ;
5661 ····}
5662 ····[Test]
5663 ····public void TestSaveReloadNull()
5664 ····{
5665 ········CreateObjects();
5666 ········QueryOwn();
5667 Assert. NotNull( ownVar, "No Query Result") ;
5668 Assert. NotNull( ownVar. RelField, "No related object") ;
5669 ········ownVar.RelField = null;
5670 ········pm.Save();
5671 ········pm.UnloadCache();
5672 ········QueryOwn();
5673 Assert. NotNull( ownVar, "No Query Result") ;
5674 Assert. Null( ownVar. RelField, "There should be no object") ;
5675 ····}
5676 ····[Test]
5677 ····public void TestChangeKeyHolderLeft()
5678 ····{
5679 ········CreateObjects();
5680 ········QueryOwn();
5681 Assert. NotNull( ownVar, "No Query Result") ;
5682 Assert. NotNull( ownVar. RelField, "No related object") ;
5683 ········int x = ownVar.RelField.Dummy;
5684 ········ownVar.Dummy = 4711;
5685 ········pm.Save();
5686 ········pm.UnloadCache();
5687 ········QueryOwn();
5688 Assert. NotNull( ownVar, "No Query Result") ;
5689 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
5690 Assert. NotNull( ownVar. RelField, "No related object") ;
5691 ····}
5692 ····[Test]
5693 ····public void TestChangeKeyHolderRight()
5694 ····{
5695 ········CreateObjects();
5696 ········QueryOther();
5697 Assert. NotNull( otherVar, "No Query Result") ;
5698 Assert. NotNull( otherVar. RelField, "No related object") ;
5699 ········int x = otherVar.RelField.Dummy;
5700 ········otherVar.Dummy = 4711;
5701 ········pm.Save();
5702 ········pm.UnloadCache();
5703 ········QueryOther();
5704 Assert. NotNull( otherVar, "No Query Result") ;
5705 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
5706 Assert. NotNull( otherVar. RelField, "No related object") ;
5707 ····}
5708 ····[Test]
5709 ····public void TestChangeKeyHolderLeftNoTouch()
5710 ····{
5711 ········CreateObjects();
5712 ········QueryOwn();
5713 Assert. NotNull( ownVar, "No Query Result") ;
5714 Assert. NotNull( ownVar. RelField, "No related object") ;
5715 ········ownVar.Dummy = 4711;
5716 ········pm.Save();
5717 ········pm.UnloadCache();
5718 ········QueryOwn();
5719 Assert. NotNull( ownVar, "No Query Result") ;
5720 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
5721 Assert. NotNull( ownVar. RelField, "No related object") ;
5722 ····}
5723 ····[Test]
5724 ····public void TestChangeKeyHolderRightNoTouch()
5725 ····{
5726 ········CreateObjects();
5727 ········QueryOther();
5728 Assert. NotNull( otherVar, "No Query Result") ;
5729 Assert. NotNull( otherVar. RelField, "No related object") ;
5730 ········otherVar.Dummy = 4711;
5731 ········pm.Save();
5732 ········pm.UnloadCache();
5733 ········QueryOther();
5734 Assert. NotNull( otherVar, "No Query Result") ;
5735 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
5736 Assert. NotNull( otherVar. RelField, "No related object") ;
5737 ····}
5738 ····[Test]
5739 ····public void TestRelationHash()
5740 ····{
5741 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi11OthpconNoTblAutoLeft));
5742 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
5743 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi11OthpconNoTblAutoRightBase));
5744 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
5745 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
5746 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
5747 ········Class clderRight = pm.NDOMapping.FindClass(typeof(AgrBi11OthpconNoTblAutoRightDerived));
5748 ········Relation relderRight = clderRight.FindRelation("relField");
5749 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
5750 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
5751 ····}
5752 ····void CreateObjects()
5753 ····{
5754 ········pm.MakePersistent(ownVar);
5755 ········pm.Save();
5756 ········pm.MakePersistent(otherVar);
5757 ········pm.Save();
5758 ········ownVar.AssignRelation(otherVar);
5759 ········pm.Save();
5760 ········pm.UnloadCache();
5761 ····}
5762 ····void QueryOwn()
5763 ····{
5764 ········var q = new NDOQuery<AgrBi11OthpconNoTblAutoLeft>(pm);
5765 ········ownVar = q.ExecuteSingle();
5766 ····}
5767 ····void QueryOther()
5768 ····{
5769 ········var q = new NDOQuery<AgrBi11OthpconNoTblAutoRightBase>(pm);
5770 ········otherVar = q.ExecuteSingle();
5771 ····}
5772 }
5773
5774
5775 [TestFixture]
5776 public class TestAgrBi11OthpconTblAuto
5777 {
5778 ····AgrBi11OthpconTblAutoLeft ownVar;
5779 ····AgrBi11OthpconTblAutoRightBase otherVar;
5780 ····PersistenceManager pm;
5781 ····[SetUp]
5782 ····public void Setup()
5783 ····{
5784 ········pm = PmFactory.NewPersistenceManager();
5785 ········ownVar = new AgrBi11OthpconTblAutoLeft();
5786 ········otherVar = new AgrBi11OthpconTblAutoRightDerived();
5787 ····}
5788 ····[TearDown]
5789 ····public void TearDown()
5790 ····{
5791 ········try
5792 ········{
5793 ············pm.UnloadCache();
5794 ············var l = pm.Objects<AgrBi11OthpconTblAutoLeft>().ResultTable;
5795 ············pm.Delete(l);
5796 ············pm.Save();
5797 ············pm.UnloadCache();
5798 ············var m = pm.Objects<AgrBi11OthpconTblAutoRightBase>().ResultTable;
5799 ············pm.Delete(m);
5800 ············pm.Save();
5801 ············pm.UnloadCache();
5802 ············decimal count;
5803 ············count = (decimal) new NDOQuery<AgrBi11OthpconTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5804 Assert. AreEqual( 0, count, "Count wrong #1") ;
5805 ············count = (decimal) new NDOQuery<AgrBi11OthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5806 Assert. AreEqual( 0, count, "Count wrong #2") ;
5807 ········}
5808 ········catch (Exception)
5809 ········{
5810 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
5811 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
5812 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
5813 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
5814 ········}
5815 ····}
5816 ····[Test]
5817 ····public void TestSaveReload()
5818 ····{
5819 ········CreateObjects();
5820 ········QueryOwn();
5821 Assert. NotNull( ownVar, "No Query Result") ;
5822 Assert. NotNull( ownVar. RelField, "No related object") ;
5823 ····}
5824 ····[Test]
5825 ····public void TestSaveReloadNull()
5826 ····{
5827 ········CreateObjects();
5828 ········QueryOwn();
5829 Assert. NotNull( ownVar, "No Query Result") ;
5830 Assert. NotNull( ownVar. RelField, "No related object") ;
5831 ········ownVar.RelField = null;
5832 ········pm.Save();
5833 ········pm.UnloadCache();
5834 ········QueryOwn();
5835 Assert. NotNull( ownVar, "No Query Result") ;
5836 Assert. Null( ownVar. RelField, "There should be no object") ;
5837 ····}
5838 ····[Test]
5839 ····public void TestChangeKeyHolderLeft()
5840 ····{
5841 ········CreateObjects();
5842 ········QueryOwn();
5843 Assert. NotNull( ownVar, "No Query Result") ;
5844 Assert. NotNull( ownVar. RelField, "No related object") ;
5845 ········int x = ownVar.RelField.Dummy;
5846 ········ownVar.Dummy = 4711;
5847 ········pm.Save();
5848 ········pm.UnloadCache();
5849 ········QueryOwn();
5850 Assert. NotNull( ownVar, "No Query Result") ;
5851 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
5852 Assert. NotNull( ownVar. RelField, "No related object") ;
5853 ····}
5854 ····[Test]
5855 ····public void TestChangeKeyHolderRight()
5856 ····{
5857 ········CreateObjects();
5858 ········QueryOther();
5859 Assert. NotNull( otherVar, "No Query Result") ;
5860 Assert. NotNull( otherVar. RelField, "No related object") ;
5861 ········int x = otherVar.RelField.Dummy;
5862 ········otherVar.Dummy = 4711;
5863 ········pm.Save();
5864 ········pm.UnloadCache();
5865 ········QueryOther();
5866 Assert. NotNull( otherVar, "No Query Result") ;
5867 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
5868 Assert. NotNull( otherVar. RelField, "No related object") ;
5869 ····}
5870 ····[Test]
5871 ····public void TestChangeKeyHolderLeftNoTouch()
5872 ····{
5873 ········CreateObjects();
5874 ········QueryOwn();
5875 Assert. NotNull( ownVar, "No Query Result") ;
5876 Assert. NotNull( ownVar. RelField, "No related object") ;
5877 ········ownVar.Dummy = 4711;
5878 ········pm.Save();
5879 ········pm.UnloadCache();
5880 ········QueryOwn();
5881 Assert. NotNull( ownVar, "No Query Result") ;
5882 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
5883 Assert. NotNull( ownVar. RelField, "No related object") ;
5884 ····}
5885 ····[Test]
5886 ····public void TestChangeKeyHolderRightNoTouch()
5887 ····{
5888 ········CreateObjects();
5889 ········QueryOther();
5890 Assert. NotNull( otherVar, "No Query Result") ;
5891 Assert. NotNull( otherVar. RelField, "No related object") ;
5892 ········otherVar.Dummy = 4711;
5893 ········pm.Save();
5894 ········pm.UnloadCache();
5895 ········QueryOther();
5896 Assert. NotNull( otherVar, "No Query Result") ;
5897 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
5898 Assert. NotNull( otherVar. RelField, "No related object") ;
5899 ····}
5900 ····[Test]
5901 ····public void TestRelationHash()
5902 ····{
5903 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi11OthpconTblAutoLeft));
5904 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
5905 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi11OthpconTblAutoRightBase));
5906 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
5907 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
5908 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
5909 ········Class clderRight = pm.NDOMapping.FindClass(typeof(AgrBi11OthpconTblAutoRightDerived));
5910 ········Relation relderRight = clderRight.FindRelation("relField");
5911 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
5912 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
5913 ····}
5914 ····void CreateObjects()
5915 ····{
5916 ········pm.MakePersistent(ownVar);
5917 ········pm.MakePersistent(otherVar);
5918 ········ownVar.AssignRelation(otherVar);
5919 ········pm.Save();
5920 ········pm.UnloadCache();
5921 ····}
5922 ····void QueryOwn()
5923 ····{
5924 ········var q = new NDOQuery<AgrBi11OthpconTblAutoLeft>(pm);
5925 ········ownVar = q.ExecuteSingle();
5926 ····}
5927 ····void QueryOther()
5928 ····{
5929 ········var q = new NDOQuery<AgrBi11OthpconTblAutoRightBase>(pm);
5930 ········otherVar = q.ExecuteSingle();
5931 ····}
5932 }
5933
5934
5935 [TestFixture]
5936 public class TestAgrDirnOthpconTblAuto
5937 {
5938 ····AgrDirnOthpconTblAutoLeft ownVar;
5939 ····AgrDirnOthpconTblAutoRightBase otherVar;
5940 ····PersistenceManager pm;
5941 ····[SetUp]
5942 ····public void Setup()
5943 ····{
5944 ········pm = PmFactory.NewPersistenceManager();
5945 ········ownVar = new AgrDirnOthpconTblAutoLeft();
5946 ········otherVar = new AgrDirnOthpconTblAutoRightDerived();
5947 ····}
5948 ····[TearDown]
5949 ····public void TearDown()
5950 ····{
5951 ········try
5952 ········{
5953 ············pm.UnloadCache();
5954 ············var l = pm.Objects<AgrDirnOthpconTblAutoLeft>().ResultTable;
5955 ············pm.Delete(l);
5956 ············pm.Save();
5957 ············pm.UnloadCache();
5958 ············var m = pm.Objects<AgrDirnOthpconTblAutoRightBase>().ResultTable;
5959 ············pm.Delete(m);
5960 ············pm.Save();
5961 ············pm.UnloadCache();
5962 ············decimal count;
5963 ············count = (decimal) new NDOQuery<AgrDirnOthpconTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5964 Assert. AreEqual( 0, count, "Count wrong #1") ;
5965 ············count = (decimal) new NDOQuery<AgrDirnOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
5966 Assert. AreEqual( 0, count, "Count wrong #2") ;
5967 ········}
5968 ········catch (Exception)
5969 ········{
5970 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
5971 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
5972 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
5973 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
5974 ········}
5975 ····}
5976 ····[Test]
5977 ····public void TestSaveReload()
5978 ····{
5979 ········CreateObjects();
5980 ········QueryOwn();
5981 Assert. NotNull( ownVar, "No Query Result") ;
5982 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
5983 ····}
5984 ····[Test]
5985 ····public void TestSaveReloadNull()
5986 ····{
5987 ········CreateObjects();
5988 ········QueryOwn();
5989 Assert. NotNull( ownVar, "No Query Result") ;
5990 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
5991 ········ownVar.RelField = new List<AgrDirnOthpconTblAutoRightBase>();
5992 ········pm.Save();
5993 ········pm.UnloadCache();
5994 ········QueryOwn();
5995 Assert. NotNull( ownVar, "No Query Result") ;
5996 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
5997 ····}
5998 ····[Test]
5999 ····public void TestSaveReloadRemove()
6000 ····{
6001 ········CreateObjects();
6002 ········QueryOwn();
6003 Assert. NotNull( ownVar, "No Query Result") ;
6004 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
6005 ········ownVar.RemoveRelatedObject();
6006 ········pm.Save();
6007 ········pm.UnloadCache();
6008 ········QueryOwn();
6009 Assert. NotNull( ownVar, "No Query Result") ;
6010 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
6011 ····}
6012 ····void CreateObjects()
6013 ····{
6014 ········pm.MakePersistent(ownVar);
6015 ········pm.MakePersistent(otherVar);
6016 ········ownVar.AssignRelation(otherVar);
6017 ········pm.Save();
6018 ········pm.UnloadCache();
6019 ····}
6020 ····void QueryOwn()
6021 ····{
6022 ········var q = new NDOQuery<AgrDirnOthpconTblAutoLeft>(pm);
6023 ········ownVar = q.ExecuteSingle();
6024 ····}
6025 ····void QueryOther()
6026 ····{
6027 ········var q = new NDOQuery<AgrDirnOthpconTblAutoRightBase>(pm);
6028 ········otherVar = q.ExecuteSingle();
6029 ····}
6030 }
6031
6032
6033 [TestFixture]
6034 public class TestAgrBin1OthpconTblAuto
6035 {
6036 ····AgrBin1OthpconTblAutoLeft ownVar;
6037 ····AgrBin1OthpconTblAutoRightBase otherVar;
6038 ····PersistenceManager pm;
6039 ····[SetUp]
6040 ····public void Setup()
6041 ····{
6042 ········pm = PmFactory.NewPersistenceManager();
6043 ········ownVar = new AgrBin1OthpconTblAutoLeft();
6044 ········otherVar = new AgrBin1OthpconTblAutoRightDerived();
6045 ····}
6046 ····[TearDown]
6047 ····public void TearDown()
6048 ····{
6049 ········try
6050 ········{
6051 ············pm.UnloadCache();
6052 ············var l = pm.Objects<AgrBin1OthpconTblAutoLeft>().ResultTable;
6053 ············pm.Delete(l);
6054 ············pm.Save();
6055 ············pm.UnloadCache();
6056 ············var m = pm.Objects<AgrBin1OthpconTblAutoRightBase>().ResultTable;
6057 ············pm.Delete(m);
6058 ············pm.Save();
6059 ············pm.UnloadCache();
6060 ············decimal count;
6061 ············count = (decimal) new NDOQuery<AgrBin1OthpconTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6062 Assert. AreEqual( 0, count, "Count wrong #1") ;
6063 ············count = (decimal) new NDOQuery<AgrBin1OthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6064 Assert. AreEqual( 0, count, "Count wrong #2") ;
6065 ········}
6066 ········catch (Exception)
6067 ········{
6068 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
6069 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
6070 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
6071 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
6072 ········}
6073 ····}
6074 ····[Test]
6075 ····public void TestSaveReload()
6076 ····{
6077 ········CreateObjects();
6078 ········QueryOwn();
6079 Assert. NotNull( ownVar, "No Query Result") ;
6080 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
6081 ····}
6082 ····[Test]
6083 ····public void TestSaveReloadNull()
6084 ····{
6085 ········CreateObjects();
6086 ········QueryOwn();
6087 Assert. NotNull( ownVar, "No Query Result") ;
6088 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
6089 ········ownVar.RelField = new List<AgrBin1OthpconTblAutoRightBase>();
6090 ········pm.Save();
6091 ········pm.UnloadCache();
6092 ········QueryOwn();
6093 Assert. NotNull( ownVar, "No Query Result") ;
6094 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
6095 ····}
6096 ····[Test]
6097 ····public void TestSaveReloadRemove()
6098 ····{
6099 ········CreateObjects();
6100 ········QueryOwn();
6101 Assert. NotNull( ownVar, "No Query Result") ;
6102 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
6103 ········ownVar.RemoveRelatedObject();
6104 ········pm.Save();
6105 ········pm.UnloadCache();
6106 ········QueryOwn();
6107 Assert. NotNull( ownVar, "No Query Result") ;
6108 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
6109 ····}
6110 ····[Test]
6111 ····public void TestChangeKeyHolderRight()
6112 ····{
6113 ········CreateObjects();
6114 ········QueryOther();
6115 Assert. NotNull( otherVar, "No Query Result") ;
6116 Assert. NotNull( otherVar. RelField, "No related object") ;
6117 ········int x = otherVar.RelField.Dummy;
6118 ········otherVar.Dummy = 4711;
6119 ········pm.Save();
6120 ········pm.UnloadCache();
6121 ········QueryOther();
6122 Assert. NotNull( otherVar, "No Query Result") ;
6123 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
6124 Assert. NotNull( otherVar. RelField, "No related object") ;
6125 ····}
6126 ····[Test]
6127 ····public void TestChangeKeyHolderRightNoTouch()
6128 ····{
6129 ········CreateObjects();
6130 ········QueryOther();
6131 Assert. NotNull( otherVar, "No Query Result") ;
6132 Assert. NotNull( otherVar. RelField, "No related object") ;
6133 ········otherVar.Dummy = 4711;
6134 ········pm.Save();
6135 ········pm.UnloadCache();
6136 ········QueryOther();
6137 Assert. NotNull( otherVar, "No Query Result") ;
6138 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
6139 Assert. NotNull( otherVar. RelField, "No related object") ;
6140 ····}
6141 ····[Test]
6142 ····public void TestRelationHash()
6143 ····{
6144 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBin1OthpconTblAutoLeft));
6145 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
6146 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBin1OthpconTblAutoRightBase));
6147 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
6148 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
6149 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
6150 ········Class clderRight = pm.NDOMapping.FindClass(typeof(AgrBin1OthpconTblAutoRightDerived));
6151 ········Relation relderRight = clderRight.FindRelation("relField");
6152 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
6153 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
6154 ····}
6155 ····void CreateObjects()
6156 ····{
6157 ········pm.MakePersistent(ownVar);
6158 ········pm.MakePersistent(otherVar);
6159 ········ownVar.AssignRelation(otherVar);
6160 ········pm.Save();
6161 ········pm.UnloadCache();
6162 ····}
6163 ····void QueryOwn()
6164 ····{
6165 ········var q = new NDOQuery<AgrBin1OthpconTblAutoLeft>(pm);
6166 ········ownVar = q.ExecuteSingle();
6167 ····}
6168 ····void QueryOther()
6169 ····{
6170 ········var q = new NDOQuery<AgrBin1OthpconTblAutoRightBase>(pm);
6171 ········otherVar = q.ExecuteSingle();
6172 ····}
6173 }
6174
6175
6176 [TestFixture]
6177 public class TestAgrBi1nOthpconNoTblAuto
6178 {
6179 ····AgrBi1nOthpconNoTblAutoLeft ownVar;
6180 ····AgrBi1nOthpconNoTblAutoRightBase otherVar;
6181 ····PersistenceManager pm;
6182 ····[SetUp]
6183 ····public void Setup()
6184 ····{
6185 ········pm = PmFactory.NewPersistenceManager();
6186 ········ownVar = new AgrBi1nOthpconNoTblAutoLeft();
6187 ········otherVar = new AgrBi1nOthpconNoTblAutoRightDerived();
6188 ····}
6189 ····[TearDown]
6190 ····public void TearDown()
6191 ····{
6192 ········try
6193 ········{
6194 ············pm.UnloadCache();
6195 ············var l = pm.Objects<AgrBi1nOthpconNoTblAutoLeft>().ResultTable;
6196 ············pm.Delete(l);
6197 ············pm.Save();
6198 ············pm.UnloadCache();
6199 ············var m = pm.Objects<AgrBi1nOthpconNoTblAutoRightBase>().ResultTable;
6200 ············pm.Delete(m);
6201 ············pm.Save();
6202 ············pm.UnloadCache();
6203 ············decimal count;
6204 ············count = (decimal) new NDOQuery<AgrBi1nOthpconNoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6205 Assert. AreEqual( 0, count, "Count wrong #1") ;
6206 ············count = (decimal) new NDOQuery<AgrBi1nOthpconNoTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6207 Assert. AreEqual( 0, count, "Count wrong #2") ;
6208 ········}
6209 ········catch (Exception)
6210 ········{
6211 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
6212 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
6213 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
6214 ········}
6215 ····}
6216 ····[Test]
6217 ····public void TestSaveReload()
6218 ····{
6219 ········CreateObjects();
6220 ········QueryOwn();
6221 Assert. NotNull( ownVar, "No Query Result") ;
6222 Assert. NotNull( ownVar. RelField, "No related object") ;
6223 ····}
6224 ····[Test]
6225 ····public void TestSaveReloadNull()
6226 ····{
6227 ········CreateObjects();
6228 ········QueryOwn();
6229 Assert. NotNull( ownVar, "No Query Result") ;
6230 Assert. NotNull( ownVar. RelField, "No related object") ;
6231 ········ownVar.RelField = null;
6232 ········pm.Save();
6233 ········pm.UnloadCache();
6234 ········QueryOwn();
6235 Assert. NotNull( ownVar, "No Query Result") ;
6236 Assert. Null( ownVar. RelField, "There should be no object") ;
6237 ····}
6238 ····[Test]
6239 ····public void TestChangeKeyHolderLeft()
6240 ····{
6241 ········CreateObjects();
6242 ········QueryOwn();
6243 Assert. NotNull( ownVar, "No Query Result") ;
6244 Assert. NotNull( ownVar. RelField, "No related object") ;
6245 ········int x = ownVar.RelField.Dummy;
6246 ········ownVar.Dummy = 4711;
6247 ········pm.Save();
6248 ········pm.UnloadCache();
6249 ········QueryOwn();
6250 Assert. NotNull( ownVar, "No Query Result") ;
6251 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
6252 Assert. NotNull( ownVar. RelField, "No related object") ;
6253 ····}
6254 ····[Test]
6255 ····public void TestChangeKeyHolderLeftNoTouch()
6256 ····{
6257 ········CreateObjects();
6258 ········QueryOwn();
6259 Assert. NotNull( ownVar, "No Query Result") ;
6260 Assert. NotNull( ownVar. RelField, "No related object") ;
6261 ········ownVar.Dummy = 4711;
6262 ········pm.Save();
6263 ········pm.UnloadCache();
6264 ········QueryOwn();
6265 Assert. NotNull( ownVar, "No Query Result") ;
6266 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
6267 Assert. NotNull( ownVar. RelField, "No related object") ;
6268 ····}
6269 ····[Test]
6270 ····public void TestUpdateOrder()
6271 ····{
6272 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
6273 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
6274 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrBi1nOthpconNoTblAutoLeft)}))
6275 ················> ((int)mi.Invoke(mapping, new object[]{typeof(AgrBi1nOthpconNoTblAutoRightBase)})), "Wrong order #1");
6276 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrBi1nOthpconNoTblAutoLeft)}))
6277 ················> ((int)mi.Invoke(mapping, new object[]{typeof(AgrBi1nOthpconNoTblAutoRightDerived)})), "Wrong order #2");
6278 ········Debug.WriteLine("AgrBi1nOthpconNoTblAutoLeft");
6279 ····}
6280 ····[Test]
6281 ····public void TestRelationHash()
6282 ····{
6283 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi1nOthpconNoTblAutoLeft));
6284 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
6285 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi1nOthpconNoTblAutoRightBase));
6286 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
6287 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
6288 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
6289 ········Class clderRight = pm.NDOMapping.FindClass(typeof(AgrBi1nOthpconNoTblAutoRightDerived));
6290 ········Relation relderRight = clderRight.FindRelation("relField");
6291 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
6292 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
6293 ····}
6294 ····void CreateObjects()
6295 ····{
6296 ········pm.MakePersistent(ownVar);
6297 ········pm.Save();
6298 ········pm.MakePersistent(otherVar);
6299 ········pm.Save();
6300 ········ownVar.AssignRelation(otherVar);
6301 ········pm.Save();
6302 ········pm.UnloadCache();
6303 ····}
6304 ····void QueryOwn()
6305 ····{
6306 ········var q = new NDOQuery<AgrBi1nOthpconNoTblAutoLeft>(pm);
6307 ········ownVar = q.ExecuteSingle();
6308 ····}
6309 ····void QueryOther()
6310 ····{
6311 ········var q = new NDOQuery<AgrBi1nOthpconNoTblAutoRightBase>(pm);
6312 ········otherVar = q.ExecuteSingle();
6313 ····}
6314 }
6315
6316
6317 [TestFixture]
6318 public class TestAgrBi1nOthpconTblAuto
6319 {
6320 ····AgrBi1nOthpconTblAutoLeft ownVar;
6321 ····AgrBi1nOthpconTblAutoRightBase otherVar;
6322 ····PersistenceManager pm;
6323 ····[SetUp]
6324 ····public void Setup()
6325 ····{
6326 ········pm = PmFactory.NewPersistenceManager();
6327 ········ownVar = new AgrBi1nOthpconTblAutoLeft();
6328 ········otherVar = new AgrBi1nOthpconTblAutoRightDerived();
6329 ····}
6330 ····[TearDown]
6331 ····public void TearDown()
6332 ····{
6333 ········try
6334 ········{
6335 ············pm.UnloadCache();
6336 ············var l = pm.Objects<AgrBi1nOthpconTblAutoLeft>().ResultTable;
6337 ············pm.Delete(l);
6338 ············pm.Save();
6339 ············pm.UnloadCache();
6340 ············var m = pm.Objects<AgrBi1nOthpconTblAutoRightBase>().ResultTable;
6341 ············pm.Delete(m);
6342 ············pm.Save();
6343 ············pm.UnloadCache();
6344 ············decimal count;
6345 ············count = (decimal) new NDOQuery<AgrBi1nOthpconTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6346 Assert. AreEqual( 0, count, "Count wrong #1") ;
6347 ············count = (decimal) new NDOQuery<AgrBi1nOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6348 Assert. AreEqual( 0, count, "Count wrong #2") ;
6349 ········}
6350 ········catch (Exception)
6351 ········{
6352 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
6353 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
6354 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
6355 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
6356 ········}
6357 ····}
6358 ····[Test]
6359 ····public void TestSaveReload()
6360 ····{
6361 ········CreateObjects();
6362 ········QueryOwn();
6363 Assert. NotNull( ownVar, "No Query Result") ;
6364 Assert. NotNull( ownVar. RelField, "No related object") ;
6365 ····}
6366 ····[Test]
6367 ····public void TestSaveReloadNull()
6368 ····{
6369 ········CreateObjects();
6370 ········QueryOwn();
6371 Assert. NotNull( ownVar, "No Query Result") ;
6372 Assert. NotNull( ownVar. RelField, "No related object") ;
6373 ········ownVar.RelField = null;
6374 ········pm.Save();
6375 ········pm.UnloadCache();
6376 ········QueryOwn();
6377 Assert. NotNull( ownVar, "No Query Result") ;
6378 Assert. Null( ownVar. RelField, "There should be no object") ;
6379 ····}
6380 ····[Test]
6381 ····public void TestChangeKeyHolderLeft()
6382 ····{
6383 ········CreateObjects();
6384 ········QueryOwn();
6385 Assert. NotNull( ownVar, "No Query Result") ;
6386 Assert. NotNull( ownVar. RelField, "No related object") ;
6387 ········int x = ownVar.RelField.Dummy;
6388 ········ownVar.Dummy = 4711;
6389 ········pm.Save();
6390 ········pm.UnloadCache();
6391 ········QueryOwn();
6392 Assert. NotNull( ownVar, "No Query Result") ;
6393 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
6394 Assert. NotNull( ownVar. RelField, "No related object") ;
6395 ····}
6396 ····[Test]
6397 ····public void TestChangeKeyHolderLeftNoTouch()
6398 ····{
6399 ········CreateObjects();
6400 ········QueryOwn();
6401 Assert. NotNull( ownVar, "No Query Result") ;
6402 Assert. NotNull( ownVar. RelField, "No related object") ;
6403 ········ownVar.Dummy = 4711;
6404 ········pm.Save();
6405 ········pm.UnloadCache();
6406 ········QueryOwn();
6407 Assert. NotNull( ownVar, "No Query Result") ;
6408 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
6409 Assert. NotNull( ownVar. RelField, "No related object") ;
6410 ····}
6411 ····[Test]
6412 ····public void TestRelationHash()
6413 ····{
6414 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi1nOthpconTblAutoLeft));
6415 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
6416 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi1nOthpconTblAutoRightBase));
6417 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
6418 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
6419 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
6420 ········Class clderRight = pm.NDOMapping.FindClass(typeof(AgrBi1nOthpconTblAutoRightDerived));
6421 ········Relation relderRight = clderRight.FindRelation("relField");
6422 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
6423 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
6424 ····}
6425 ····void CreateObjects()
6426 ····{
6427 ········pm.MakePersistent(ownVar);
6428 ········pm.MakePersistent(otherVar);
6429 ········ownVar.AssignRelation(otherVar);
6430 ········pm.Save();
6431 ········pm.UnloadCache();
6432 ····}
6433 ····void QueryOwn()
6434 ····{
6435 ········var q = new NDOQuery<AgrBi1nOthpconTblAutoLeft>(pm);
6436 ········ownVar = q.ExecuteSingle();
6437 ····}
6438 ····void QueryOther()
6439 ····{
6440 ········var q = new NDOQuery<AgrBi1nOthpconTblAutoRightBase>(pm);
6441 ········otherVar = q.ExecuteSingle();
6442 ····}
6443 }
6444
6445
6446 [TestFixture]
6447 public class TestAgrBinnOthpconTblAuto
6448 {
6449 ····AgrBinnOthpconTblAutoLeft ownVar;
6450 ····AgrBinnOthpconTblAutoRightBase otherVar;
6451 ····PersistenceManager pm;
6452 ····[SetUp]
6453 ····public void Setup()
6454 ····{
6455 ········pm = PmFactory.NewPersistenceManager();
6456 ········ownVar = new AgrBinnOthpconTblAutoLeft();
6457 ········otherVar = new AgrBinnOthpconTblAutoRightDerived();
6458 ····}
6459 ····[TearDown]
6460 ····public void TearDown()
6461 ····{
6462 ········try
6463 ········{
6464 ············pm.UnloadCache();
6465 ············var l = pm.Objects<AgrBinnOthpconTblAutoLeft>().ResultTable;
6466 ············pm.Delete(l);
6467 ············pm.Save();
6468 ············pm.UnloadCache();
6469 ············var m = pm.Objects<AgrBinnOthpconTblAutoRightBase>().ResultTable;
6470 ············pm.Delete(m);
6471 ············pm.Save();
6472 ············pm.UnloadCache();
6473 ············decimal count;
6474 ············count = (decimal) new NDOQuery<AgrBinnOthpconTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6475 Assert. AreEqual( 0, count, "Count wrong #1") ;
6476 ············count = (decimal) new NDOQuery<AgrBinnOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6477 Assert. AreEqual( 0, count, "Count wrong #2") ;
6478 ········}
6479 ········catch (Exception)
6480 ········{
6481 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
6482 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
6483 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
6484 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
6485 ········}
6486 ····}
6487 ····[Test]
6488 ····public void TestSaveReload()
6489 ····{
6490 ········CreateObjects();
6491 ········QueryOwn();
6492 Assert. NotNull( ownVar, "No Query Result") ;
6493 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
6494 ····}
6495 ····[Test]
6496 ····public void TestSaveReloadNull()
6497 ····{
6498 ········CreateObjects();
6499 ········QueryOwn();
6500 Assert. NotNull( ownVar, "No Query Result") ;
6501 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
6502 ········ownVar.RelField = new List<AgrBinnOthpconTblAutoRightBase>();
6503 ········pm.Save();
6504 ········pm.UnloadCache();
6505 ········QueryOwn();
6506 Assert. NotNull( ownVar, "No Query Result") ;
6507 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
6508 ····}
6509 ····[Test]
6510 ····public void TestSaveReloadRemove()
6511 ····{
6512 ········CreateObjects();
6513 ········QueryOwn();
6514 Assert. NotNull( ownVar, "No Query Result") ;
6515 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
6516 ········ownVar.RemoveRelatedObject();
6517 ········pm.Save();
6518 ········pm.UnloadCache();
6519 ········QueryOwn();
6520 Assert. NotNull( ownVar, "No Query Result") ;
6521 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
6522 ····}
6523 ····[Test]
6524 ····public void TestRelationHash()
6525 ····{
6526 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBinnOthpconTblAutoLeft));
6527 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
6528 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBinnOthpconTblAutoRightBase));
6529 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
6530 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
6531 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
6532 ········Class clderRight = pm.NDOMapping.FindClass(typeof(AgrBinnOthpconTblAutoRightDerived));
6533 ········Relation relderRight = clderRight.FindRelation("relField");
6534 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
6535 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
6536 ····}
6537 ····void CreateObjects()
6538 ····{
6539 ········pm.MakePersistent(ownVar);
6540 ········pm.MakePersistent(otherVar);
6541 ········ownVar.AssignRelation(otherVar);
6542 ········pm.Save();
6543 ········pm.UnloadCache();
6544 ····}
6545 ····void QueryOwn()
6546 ····{
6547 ········var q = new NDOQuery<AgrBinnOthpconTblAutoLeft>(pm);
6548 ········ownVar = q.ExecuteSingle();
6549 ····}
6550 ····void QueryOther()
6551 ····{
6552 ········var q = new NDOQuery<AgrBinnOthpconTblAutoRightBase>(pm);
6553 ········otherVar = q.ExecuteSingle();
6554 ····}
6555 }
6556
6557
6558 [TestFixture]
6559 public class TestCmpDir1OthpconNoTblAuto
6560 {
6561 ····CmpDir1OthpconNoTblAutoLeft ownVar;
6562 ····CmpDir1OthpconNoTblAutoRightBase otherVar;
6563 ····PersistenceManager pm;
6564 ····[SetUp]
6565 ····public void Setup()
6566 ····{
6567 ········pm = PmFactory.NewPersistenceManager();
6568 ········ownVar = new CmpDir1OthpconNoTblAutoLeft();
6569 ········otherVar = new CmpDir1OthpconNoTblAutoRightDerived();
6570 ····}
6571 ····[TearDown]
6572 ····public void TearDown()
6573 ····{
6574 ········try
6575 ········{
6576 ············pm.UnloadCache();
6577 ············var l = pm.Objects<CmpDir1OthpconNoTblAutoLeft>().ResultTable;
6578 ············pm.Delete(l);
6579 ············pm.Save();
6580 ············pm.UnloadCache();
6581 ············decimal count;
6582 ············count = (decimal) new NDOQuery<CmpDir1OthpconNoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6583 Assert. AreEqual( 0, count, "Count wrong #1") ;
6584 ············count = (decimal) new NDOQuery<CmpDir1OthpconNoTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6585 Assert. AreEqual( 0, count, "Count wrong #2") ;
6586 ········}
6587 ········catch (Exception)
6588 ········{
6589 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
6590 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
6591 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
6592 ········}
6593 ····}
6594 ····[Test]
6595 ····public void TestSaveReload()
6596 ····{
6597 ········bool thrown = false;
6598 ········try
6599 ········{
6600 ············CreateObjects();
6601 ············QueryOwn();
6602 Assert. NotNull( ownVar, "No Query Result") ;
6603 Assert. NotNull( ownVar. RelField, "No related object") ;
6604 ········}
6605 ········catch (NDOException)
6606 ········{
6607 ············thrown = true;
6608 ········}
6609 Assert. AreEqual( true, thrown, "NDOException should have been thrown") ;
6610 ····}
6611 ····[Test]
6612 ····public void TestSaveReloadNull()
6613 ····{
6614 ········bool thrown = false;
6615 ········try
6616 ········{
6617 ············CreateObjects();
6618 ············QueryOwn();
6619 Assert. NotNull( ownVar, "No Query Result") ;
6620 Assert. NotNull( ownVar. RelField, "No related object") ;
6621 ············ownVar.RelField = null;
6622 ············pm.Save();
6623 ············pm.UnloadCache();
6624 ············QueryOwn();
6625 Assert. NotNull( ownVar, "No Query Result") ;
6626 Assert. Null( ownVar. RelField, "There should be no object") ;
6627 ········}
6628 ········catch (NDOException)
6629 ········{
6630 ············thrown = true;
6631 ········}
6632 Assert. AreEqual( true, thrown, "NDOException should have been thrown") ;
6633 ····}
6634 ····void CreateObjects()
6635 ····{
6636 ········pm.MakePersistent(ownVar);
6637 ········pm.Save();
6638 ········ownVar.AssignRelation(otherVar);
6639 ········pm.Save();
6640 ········pm.UnloadCache();
6641 ····}
6642 ····void QueryOwn()
6643 ····{
6644 ········var q = new NDOQuery<CmpDir1OthpconNoTblAutoLeft>(pm);
6645 ········ownVar = q.ExecuteSingle();
6646 ····}
6647 ····void QueryOther()
6648 ····{
6649 ········var q = new NDOQuery<CmpDir1OthpconNoTblAutoRightBase>(pm);
6650 ········otherVar = q.ExecuteSingle();
6651 ····}
6652 }
6653
6654
6655 [TestFixture]
6656 public class TestCmpDir1OthpconTblAuto
6657 {
6658 ····CmpDir1OthpconTblAutoLeft ownVar;
6659 ····CmpDir1OthpconTblAutoRightBase otherVar;
6660 ····PersistenceManager pm;
6661 ····[SetUp]
6662 ····public void Setup()
6663 ····{
6664 ········pm = PmFactory.NewPersistenceManager();
6665 ········ownVar = new CmpDir1OthpconTblAutoLeft();
6666 ········otherVar = new CmpDir1OthpconTblAutoRightDerived();
6667 ····}
6668 ····[TearDown]
6669 ····public void TearDown()
6670 ····{
6671 ········try
6672 ········{
6673 ············pm.UnloadCache();
6674 ············var l = pm.Objects<CmpDir1OthpconTblAutoLeft>().ResultTable;
6675 ············pm.Delete(l);
6676 ············pm.Save();
6677 ············pm.UnloadCache();
6678 ············decimal count;
6679 ············count = (decimal) new NDOQuery<CmpDir1OthpconTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6680 Assert. AreEqual( 0, count, "Count wrong #1") ;
6681 ············count = (decimal) new NDOQuery<CmpDir1OthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6682 Assert. AreEqual( 0, count, "Count wrong #2") ;
6683 ········}
6684 ········catch (Exception)
6685 ········{
6686 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
6687 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
6688 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
6689 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
6690 ········}
6691 ····}
6692 ····[Test]
6693 ····public void TestSaveReload()
6694 ····{
6695 ········CreateObjects();
6696 ········QueryOwn();
6697 Assert. NotNull( ownVar, "No Query Result") ;
6698 Assert. NotNull( ownVar. RelField, "No related object") ;
6699 ····}
6700 ····[Test]
6701 ····public void TestSaveReloadNull()
6702 ····{
6703 ········CreateObjects();
6704 ········QueryOwn();
6705 Assert. NotNull( ownVar, "No Query Result") ;
6706 Assert. NotNull( ownVar. RelField, "No related object") ;
6707 ········ownVar.RelField = null;
6708 ········pm.Save();
6709 ········pm.UnloadCache();
6710 ········QueryOwn();
6711 Assert. NotNull( ownVar, "No Query Result") ;
6712 Assert. Null( ownVar. RelField, "There should be no object") ;
6713 ····}
6714 ····[Test]
6715 ····public void TestChangeKeyHolderLeft()
6716 ····{
6717 ········CreateObjects();
6718 ········QueryOwn();
6719 Assert. NotNull( ownVar, "No Query Result") ;
6720 Assert. NotNull( ownVar. RelField, "No related object") ;
6721 ········int x = ownVar.RelField.Dummy;
6722 ········ownVar.Dummy = 4711;
6723 ········pm.Save();
6724 ········pm.UnloadCache();
6725 ········QueryOwn();
6726 Assert. NotNull( ownVar, "No Query Result") ;
6727 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
6728 Assert. NotNull( ownVar. RelField, "No related object") ;
6729 ····}
6730 ····[Test]
6731 ····public void TestChangeKeyHolderLeftNoTouch()
6732 ····{
6733 ········CreateObjects();
6734 ········QueryOwn();
6735 Assert. NotNull( ownVar, "No Query Result") ;
6736 Assert. NotNull( ownVar. RelField, "No related object") ;
6737 ········ownVar.Dummy = 4711;
6738 ········pm.Save();
6739 ········pm.UnloadCache();
6740 ········QueryOwn();
6741 Assert. NotNull( ownVar, "No Query Result") ;
6742 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
6743 Assert. NotNull( ownVar. RelField, "No related object") ;
6744 ····}
6745 ····void CreateObjects()
6746 ····{
6747 ········pm.MakePersistent(ownVar);
6748 ········ownVar.AssignRelation(otherVar);
6749 ········pm.Save();
6750 ········pm.UnloadCache();
6751 ····}
6752 ····void QueryOwn()
6753 ····{
6754 ········var q = new NDOQuery<CmpDir1OthpconTblAutoLeft>(pm);
6755 ········ownVar = q.ExecuteSingle();
6756 ····}
6757 ····void QueryOther()
6758 ····{
6759 ········var q = new NDOQuery<CmpDir1OthpconTblAutoRightBase>(pm);
6760 ········otherVar = q.ExecuteSingle();
6761 ····}
6762 }
6763
6764
6765 [TestFixture]
6766 public class TestCmpBi11OthpconNoTblAuto
6767 {
6768 ····CmpBi11OthpconNoTblAutoLeft ownVar;
6769 ····CmpBi11OthpconNoTblAutoRightBase otherVar;
6770 ····PersistenceManager pm;
6771 ····[SetUp]
6772 ····public void Setup()
6773 ····{
6774 ········pm = PmFactory.NewPersistenceManager();
6775 ········ownVar = new CmpBi11OthpconNoTblAutoLeft();
6776 ········otherVar = new CmpBi11OthpconNoTblAutoRightDerived();
6777 ····}
6778 ····[TearDown]
6779 ····public void TearDown()
6780 ····{
6781 ········try
6782 ········{
6783 ············pm.UnloadCache();
6784 ············var l = pm.Objects<CmpBi11OthpconNoTblAutoLeft>().ResultTable;
6785 ············pm.Delete(l);
6786 ············pm.Save();
6787 ············pm.UnloadCache();
6788 ············decimal count;
6789 ············count = (decimal) new NDOQuery<CmpBi11OthpconNoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6790 Assert. AreEqual( 0, count, "Count wrong #1") ;
6791 ············count = (decimal) new NDOQuery<CmpBi11OthpconNoTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6792 Assert. AreEqual( 0, count, "Count wrong #2") ;
6793 ········}
6794 ········catch (Exception)
6795 ········{
6796 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
6797 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
6798 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
6799 ········}
6800 ····}
6801 ····[Test]
6802 ····public void TestSaveReload()
6803 ····{
6804 ········bool thrown = false;
6805 ········try
6806 ········{
6807 ············CreateObjects();
6808 ············QueryOwn();
6809 Assert. NotNull( ownVar, "No Query Result") ;
6810 Assert. NotNull( ownVar. RelField, "No related object") ;
6811 ········}
6812 ········catch (NDOException)
6813 ········{
6814 ············thrown = true;
6815 ········}
6816 Assert. AreEqual( true, thrown, "NDOException should have been thrown") ;
6817 ····}
6818 ····[Test]
6819 ····public void TestSaveReloadNull()
6820 ····{
6821 ········bool thrown = false;
6822 ········try
6823 ········{
6824 ············CreateObjects();
6825 ············QueryOwn();
6826 Assert. NotNull( ownVar, "No Query Result") ;
6827 Assert. NotNull( ownVar. RelField, "No related object") ;
6828 ············ownVar.RelField = null;
6829 ············pm.Save();
6830 ············pm.UnloadCache();
6831 ············QueryOwn();
6832 Assert. NotNull( ownVar, "No Query Result") ;
6833 Assert. Null( ownVar. RelField, "There should be no object") ;
6834 ········}
6835 ········catch (NDOException)
6836 ········{
6837 ············thrown = true;
6838 ········}
6839 Assert. AreEqual( true, thrown, "NDOException should have been thrown") ;
6840 ····}
6841 ····[Test]
6842 ····public void TestRelationHash()
6843 ····{
6844 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi11OthpconNoTblAutoLeft));
6845 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
6846 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi11OthpconNoTblAutoRightBase));
6847 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
6848 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
6849 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
6850 ········Class clderRight = pm.NDOMapping.FindClass(typeof(CmpBi11OthpconNoTblAutoRightDerived));
6851 ········Relation relderRight = clderRight.FindRelation("relField");
6852 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
6853 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
6854 ····}
6855 ····void CreateObjects()
6856 ····{
6857 ········pm.MakePersistent(ownVar);
6858 ········pm.Save();
6859 ········ownVar.AssignRelation(otherVar);
6860 ········pm.Save();
6861 ········pm.UnloadCache();
6862 ····}
6863 ····void QueryOwn()
6864 ····{
6865 ········var q = new NDOQuery<CmpBi11OthpconNoTblAutoLeft>(pm);
6866 ········ownVar = q.ExecuteSingle();
6867 ····}
6868 ····void QueryOther()
6869 ····{
6870 ········var q = new NDOQuery<CmpBi11OthpconNoTblAutoRightBase>(pm);
6871 ········otherVar = q.ExecuteSingle();
6872 ····}
6873 }
6874
6875
6876 [TestFixture]
6877 public class TestCmpBi11OthpconTblAuto
6878 {
6879 ····CmpBi11OthpconTblAutoLeft ownVar;
6880 ····CmpBi11OthpconTblAutoRightBase otherVar;
6881 ····PersistenceManager pm;
6882 ····[SetUp]
6883 ····public void Setup()
6884 ····{
6885 ········pm = PmFactory.NewPersistenceManager();
6886 ········ownVar = new CmpBi11OthpconTblAutoLeft();
6887 ········otherVar = new CmpBi11OthpconTblAutoRightDerived();
6888 ····}
6889 ····[TearDown]
6890 ····public void TearDown()
6891 ····{
6892 ········try
6893 ········{
6894 ············pm.UnloadCache();
6895 ············var l = pm.Objects<CmpBi11OthpconTblAutoLeft>().ResultTable;
6896 ············pm.Delete(l);
6897 ············pm.Save();
6898 ············pm.UnloadCache();
6899 ············decimal count;
6900 ············count = (decimal) new NDOQuery<CmpBi11OthpconTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6901 Assert. AreEqual( 0, count, "Count wrong #1") ;
6902 ············count = (decimal) new NDOQuery<CmpBi11OthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
6903 Assert. AreEqual( 0, count, "Count wrong #2") ;
6904 ········}
6905 ········catch (Exception)
6906 ········{
6907 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
6908 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
6909 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
6910 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
6911 ········}
6912 ····}
6913 ····[Test]
6914 ····public void TestSaveReload()
6915 ····{
6916 ········CreateObjects();
6917 ········QueryOwn();
6918 Assert. NotNull( ownVar, "No Query Result") ;
6919 Assert. NotNull( ownVar. RelField, "No related object") ;
6920 ····}
6921 ····[Test]
6922 ····public void TestSaveReloadNull()
6923 ····{
6924 ········CreateObjects();
6925 ········QueryOwn();
6926 Assert. NotNull( ownVar, "No Query Result") ;
6927 Assert. NotNull( ownVar. RelField, "No related object") ;
6928 ········ownVar.RelField = null;
6929 ········pm.Save();
6930 ········pm.UnloadCache();
6931 ········QueryOwn();
6932 Assert. NotNull( ownVar, "No Query Result") ;
6933 Assert. Null( ownVar. RelField, "There should be no object") ;
6934 ····}
6935 ····[Test]
6936 ····public void TestChangeKeyHolderLeft()
6937 ····{
6938 ········CreateObjects();
6939 ········QueryOwn();
6940 Assert. NotNull( ownVar, "No Query Result") ;
6941 Assert. NotNull( ownVar. RelField, "No related object") ;
6942 ········int x = ownVar.RelField.Dummy;
6943 ········ownVar.Dummy = 4711;
6944 ········pm.Save();
6945 ········pm.UnloadCache();
6946 ········QueryOwn();
6947 Assert. NotNull( ownVar, "No Query Result") ;
6948 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
6949 Assert. NotNull( ownVar. RelField, "No related object") ;
6950 ····}
6951 ····[Test]
6952 ····public void TestChangeKeyHolderRight()
6953 ····{
6954 ········CreateObjects();
6955 ········QueryOther();
6956 Assert. NotNull( otherVar, "No Query Result") ;
6957 Assert. NotNull( otherVar. RelField, "No related object") ;
6958 ········int x = otherVar.RelField.Dummy;
6959 ········otherVar.Dummy = 4711;
6960 ········pm.Save();
6961 ········pm.UnloadCache();
6962 ········QueryOther();
6963 Assert. NotNull( otherVar, "No Query Result") ;
6964 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
6965 Assert. NotNull( otherVar. RelField, "No related object") ;
6966 ····}
6967 ····[Test]
6968 ····public void TestChangeKeyHolderLeftNoTouch()
6969 ····{
6970 ········CreateObjects();
6971 ········QueryOwn();
6972 Assert. NotNull( ownVar, "No Query Result") ;
6973 Assert. NotNull( ownVar. RelField, "No related object") ;
6974 ········ownVar.Dummy = 4711;
6975 ········pm.Save();
6976 ········pm.UnloadCache();
6977 ········QueryOwn();
6978 Assert. NotNull( ownVar, "No Query Result") ;
6979 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
6980 Assert. NotNull( ownVar. RelField, "No related object") ;
6981 ····}
6982 ····[Test]
6983 ····public void TestChangeKeyHolderRightNoTouch()
6984 ····{
6985 ········CreateObjects();
6986 ········QueryOther();
6987 Assert. NotNull( otherVar, "No Query Result") ;
6988 Assert. NotNull( otherVar. RelField, "No related object") ;
6989 ········otherVar.Dummy = 4711;
6990 ········pm.Save();
6991 ········pm.UnloadCache();
6992 ········QueryOther();
6993 Assert. NotNull( otherVar, "No Query Result") ;
6994 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
6995 Assert. NotNull( otherVar. RelField, "No related object") ;
6996 ····}
6997 ····[Test]
6998 ····public void TestRelationHash()
6999 ····{
7000 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi11OthpconTblAutoLeft));
7001 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
7002 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi11OthpconTblAutoRightBase));
7003 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
7004 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
7005 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
7006 ········Class clderRight = pm.NDOMapping.FindClass(typeof(CmpBi11OthpconTblAutoRightDerived));
7007 ········Relation relderRight = clderRight.FindRelation("relField");
7008 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
7009 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
7010 ····}
7011 ····void CreateObjects()
7012 ····{
7013 ········pm.MakePersistent(ownVar);
7014 ········ownVar.AssignRelation(otherVar);
7015 ········pm.Save();
7016 ········pm.UnloadCache();
7017 ····}
7018 ····void QueryOwn()
7019 ····{
7020 ········var q = new NDOQuery<CmpBi11OthpconTblAutoLeft>(pm);
7021 ········ownVar = q.ExecuteSingle();
7022 ····}
7023 ····void QueryOther()
7024 ····{
7025 ········var q = new NDOQuery<CmpBi11OthpconTblAutoRightBase>(pm);
7026 ········otherVar = q.ExecuteSingle();
7027 ····}
7028 }
7029
7030
7031 [TestFixture]
7032 public class TestCmpDirnOthpconTblAuto
7033 {
7034 ····CmpDirnOthpconTblAutoLeft ownVar;
7035 ····CmpDirnOthpconTblAutoRightBase otherVar;
7036 ····PersistenceManager pm;
7037 ····[SetUp]
7038 ····public void Setup()
7039 ····{
7040 ········pm = PmFactory.NewPersistenceManager();
7041 ········ownVar = new CmpDirnOthpconTblAutoLeft();
7042 ········otherVar = new CmpDirnOthpconTblAutoRightDerived();
7043 ····}
7044 ····[TearDown]
7045 ····public void TearDown()
7046 ····{
7047 ········try
7048 ········{
7049 ············pm.UnloadCache();
7050 ············var l = pm.Objects<CmpDirnOthpconTblAutoLeft>().ResultTable;
7051 ············pm.Delete(l);
7052 ············pm.Save();
7053 ············pm.UnloadCache();
7054 ············decimal count;
7055 ············count = (decimal) new NDOQuery<CmpDirnOthpconTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7056 Assert. AreEqual( 0, count, "Count wrong #1") ;
7057 ············count = (decimal) new NDOQuery<CmpDirnOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7058 Assert. AreEqual( 0, count, "Count wrong #2") ;
7059 ········}
7060 ········catch (Exception)
7061 ········{
7062 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
7063 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
7064 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
7065 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
7066 ········}
7067 ····}
7068 ····[Test]
7069 ····public void TestSaveReload()
7070 ····{
7071 ········CreateObjects();
7072 ········QueryOwn();
7073 Assert. NotNull( ownVar, "No Query Result") ;
7074 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
7075 ····}
7076 ····[Test]
7077 ····public void TestSaveReloadNull()
7078 ····{
7079 ········CreateObjects();
7080 ········QueryOwn();
7081 Assert. NotNull( ownVar, "No Query Result") ;
7082 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
7083 ········ownVar.RelField = new List<CmpDirnOthpconTblAutoRightBase>();
7084 ········pm.Save();
7085 ········pm.UnloadCache();
7086 ········QueryOwn();
7087 Assert. NotNull( ownVar, "No Query Result") ;
7088 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
7089 ····}
7090 ····[Test]
7091 ····public void TestSaveReloadRemove()
7092 ····{
7093 ········CreateObjects();
7094 ········QueryOwn();
7095 Assert. NotNull( ownVar, "No Query Result") ;
7096 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
7097 ········ownVar.RemoveRelatedObject();
7098 ········pm.Save();
7099 ········pm.UnloadCache();
7100 ········QueryOwn();
7101 Assert. NotNull( ownVar, "No Query Result") ;
7102 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
7103 ····}
7104 ····void CreateObjects()
7105 ····{
7106 ········pm.MakePersistent(ownVar);
7107 ········ownVar.AssignRelation(otherVar);
7108 ········pm.Save();
7109 ········pm.UnloadCache();
7110 ····}
7111 ····void QueryOwn()
7112 ····{
7113 ········var q = new NDOQuery<CmpDirnOthpconTblAutoLeft>(pm);
7114 ········ownVar = q.ExecuteSingle();
7115 ····}
7116 ····void QueryOther()
7117 ····{
7118 ········var q = new NDOQuery<CmpDirnOthpconTblAutoRightBase>(pm);
7119 ········otherVar = q.ExecuteSingle();
7120 ····}
7121 }
7122
7123
7124 [TestFixture]
7125 public class TestCmpBin1OthpconTblAuto
7126 {
7127 ····CmpBin1OthpconTblAutoLeft ownVar;
7128 ····CmpBin1OthpconTblAutoRightBase otherVar;
7129 ····PersistenceManager pm;
7130 ····[SetUp]
7131 ····public void Setup()
7132 ····{
7133 ········pm = PmFactory.NewPersistenceManager();
7134 ········ownVar = new CmpBin1OthpconTblAutoLeft();
7135 ········otherVar = new CmpBin1OthpconTblAutoRightDerived();
7136 ····}
7137 ····[TearDown]
7138 ····public void TearDown()
7139 ····{
7140 ········try
7141 ········{
7142 ············pm.UnloadCache();
7143 ············var l = pm.Objects<CmpBin1OthpconTblAutoLeft>().ResultTable;
7144 ············pm.Delete(l);
7145 ············pm.Save();
7146 ············pm.UnloadCache();
7147 ············decimal count;
7148 ············count = (decimal) new NDOQuery<CmpBin1OthpconTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7149 Assert. AreEqual( 0, count, "Count wrong #1") ;
7150 ············count = (decimal) new NDOQuery<CmpBin1OthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7151 Assert. AreEqual( 0, count, "Count wrong #2") ;
7152 ········}
7153 ········catch (Exception)
7154 ········{
7155 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
7156 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
7157 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
7158 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
7159 ········}
7160 ····}
7161 ····[Test]
7162 ····public void TestSaveReload()
7163 ····{
7164 ········CreateObjects();
7165 ········QueryOwn();
7166 Assert. NotNull( ownVar, "No Query Result") ;
7167 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
7168 ····}
7169 ····[Test]
7170 ····public void TestSaveReloadNull()
7171 ····{
7172 ········CreateObjects();
7173 ········QueryOwn();
7174 Assert. NotNull( ownVar, "No Query Result") ;
7175 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
7176 ········ownVar.RelField = new List<CmpBin1OthpconTblAutoRightBase>();
7177 ········pm.Save();
7178 ········pm.UnloadCache();
7179 ········QueryOwn();
7180 Assert. NotNull( ownVar, "No Query Result") ;
7181 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
7182 ····}
7183 ····[Test]
7184 ····public void TestSaveReloadRemove()
7185 ····{
7186 ········CreateObjects();
7187 ········QueryOwn();
7188 Assert. NotNull( ownVar, "No Query Result") ;
7189 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
7190 ········ownVar.RemoveRelatedObject();
7191 ········pm.Save();
7192 ········pm.UnloadCache();
7193 ········QueryOwn();
7194 Assert. NotNull( ownVar, "No Query Result") ;
7195 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
7196 ····}
7197 ····[Test]
7198 ····public void TestChangeKeyHolderRight()
7199 ····{
7200 ········CreateObjects();
7201 ········QueryOther();
7202 Assert. NotNull( otherVar, "No Query Result") ;
7203 Assert. NotNull( otherVar. RelField, "No related object") ;
7204 ········int x = otherVar.RelField.Dummy;
7205 ········otherVar.Dummy = 4711;
7206 ········pm.Save();
7207 ········pm.UnloadCache();
7208 ········QueryOther();
7209 Assert. NotNull( otherVar, "No Query Result") ;
7210 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
7211 Assert. NotNull( otherVar. RelField, "No related object") ;
7212 ····}
7213 ····[Test]
7214 ····public void TestChangeKeyHolderRightNoTouch()
7215 ····{
7216 ········CreateObjects();
7217 ········QueryOther();
7218 Assert. NotNull( otherVar, "No Query Result") ;
7219 Assert. NotNull( otherVar. RelField, "No related object") ;
7220 ········otherVar.Dummy = 4711;
7221 ········pm.Save();
7222 ········pm.UnloadCache();
7223 ········QueryOther();
7224 Assert. NotNull( otherVar, "No Query Result") ;
7225 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
7226 Assert. NotNull( otherVar. RelField, "No related object") ;
7227 ····}
7228 ····[Test]
7229 ····public void TestRelationHash()
7230 ····{
7231 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBin1OthpconTblAutoLeft));
7232 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
7233 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBin1OthpconTblAutoRightBase));
7234 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
7235 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
7236 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
7237 ········Class clderRight = pm.NDOMapping.FindClass(typeof(CmpBin1OthpconTblAutoRightDerived));
7238 ········Relation relderRight = clderRight.FindRelation("relField");
7239 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
7240 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
7241 ····}
7242 ····void CreateObjects()
7243 ····{
7244 ········pm.MakePersistent(ownVar);
7245 ········ownVar.AssignRelation(otherVar);
7246 ········pm.Save();
7247 ········pm.UnloadCache();
7248 ····}
7249 ····void QueryOwn()
7250 ····{
7251 ········var q = new NDOQuery<CmpBin1OthpconTblAutoLeft>(pm);
7252 ········ownVar = q.ExecuteSingle();
7253 ····}
7254 ····void QueryOther()
7255 ····{
7256 ········var q = new NDOQuery<CmpBin1OthpconTblAutoRightBase>(pm);
7257 ········otherVar = q.ExecuteSingle();
7258 ····}
7259 }
7260
7261
7262 [TestFixture]
7263 public class TestCmpBi1nOthpconNoTblAuto
7264 {
7265 ····CmpBi1nOthpconNoTblAutoLeft ownVar;
7266 ····CmpBi1nOthpconNoTblAutoRightBase otherVar;
7267 ····PersistenceManager pm;
7268 ····[SetUp]
7269 ····public void Setup()
7270 ····{
7271 ········pm = PmFactory.NewPersistenceManager();
7272 ········ownVar = new CmpBi1nOthpconNoTblAutoLeft();
7273 ········otherVar = new CmpBi1nOthpconNoTblAutoRightDerived();
7274 ····}
7275 ····[TearDown]
7276 ····public void TearDown()
7277 ····{
7278 ········try
7279 ········{
7280 ············pm.UnloadCache();
7281 ············var l = pm.Objects<CmpBi1nOthpconNoTblAutoLeft>().ResultTable;
7282 ············pm.Delete(l);
7283 ············pm.Save();
7284 ············pm.UnloadCache();
7285 ············decimal count;
7286 ············count = (decimal) new NDOQuery<CmpBi1nOthpconNoTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7287 Assert. AreEqual( 0, count, "Count wrong #1") ;
7288 ············count = (decimal) new NDOQuery<CmpBi1nOthpconNoTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7289 Assert. AreEqual( 0, count, "Count wrong #2") ;
7290 ········}
7291 ········catch (Exception)
7292 ········{
7293 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
7294 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
7295 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
7296 ········}
7297 ····}
7298 ····[Test]
7299 ····public void TestSaveReload()
7300 ····{
7301 ········bool thrown = false;
7302 ········try
7303 ········{
7304 ············CreateObjects();
7305 ············QueryOwn();
7306 Assert. NotNull( ownVar, "No Query Result") ;
7307 Assert. NotNull( ownVar. RelField, "No related object") ;
7308 ········}
7309 ········catch (NDOException)
7310 ········{
7311 ············thrown = true;
7312 ········}
7313 Assert. AreEqual( true, thrown, "NDOException should have been thrown") ;
7314 ····}
7315 ····[Test]
7316 ····public void TestSaveReloadNull()
7317 ····{
7318 ········bool thrown = false;
7319 ········try
7320 ········{
7321 ············CreateObjects();
7322 ············QueryOwn();
7323 Assert. NotNull( ownVar, "No Query Result") ;
7324 Assert. NotNull( ownVar. RelField, "No related object") ;
7325 ············ownVar.RelField = null;
7326 ············pm.Save();
7327 ············pm.UnloadCache();
7328 ············QueryOwn();
7329 Assert. NotNull( ownVar, "No Query Result") ;
7330 Assert. Null( ownVar. RelField, "There should be no object") ;
7331 ········}
7332 ········catch (NDOException)
7333 ········{
7334 ············thrown = true;
7335 ········}
7336 Assert. AreEqual( true, thrown, "NDOException should have been thrown") ;
7337 ····}
7338 ····[Test]
7339 ····public void TestRelationHash()
7340 ····{
7341 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi1nOthpconNoTblAutoLeft));
7342 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
7343 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi1nOthpconNoTblAutoRightBase));
7344 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
7345 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
7346 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
7347 ········Class clderRight = pm.NDOMapping.FindClass(typeof(CmpBi1nOthpconNoTblAutoRightDerived));
7348 ········Relation relderRight = clderRight.FindRelation("relField");
7349 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
7350 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
7351 ····}
7352 ····void CreateObjects()
7353 ····{
7354 ········pm.MakePersistent(ownVar);
7355 ········pm.Save();
7356 ········ownVar.AssignRelation(otherVar);
7357 ········pm.Save();
7358 ········pm.UnloadCache();
7359 ····}
7360 ····void QueryOwn()
7361 ····{
7362 ········var q = new NDOQuery<CmpBi1nOthpconNoTblAutoLeft>(pm);
7363 ········ownVar = q.ExecuteSingle();
7364 ····}
7365 ····void QueryOther()
7366 ····{
7367 ········var q = new NDOQuery<CmpBi1nOthpconNoTblAutoRightBase>(pm);
7368 ········otherVar = q.ExecuteSingle();
7369 ····}
7370 }
7371
7372
7373 [TestFixture]
7374 public class TestCmpBi1nOthpconTblAuto
7375 {
7376 ····CmpBi1nOthpconTblAutoLeft ownVar;
7377 ····CmpBi1nOthpconTblAutoRightBase otherVar;
7378 ····PersistenceManager pm;
7379 ····[SetUp]
7380 ····public void Setup()
7381 ····{
7382 ········pm = PmFactory.NewPersistenceManager();
7383 ········ownVar = new CmpBi1nOthpconTblAutoLeft();
7384 ········otherVar = new CmpBi1nOthpconTblAutoRightDerived();
7385 ····}
7386 ····[TearDown]
7387 ····public void TearDown()
7388 ····{
7389 ········try
7390 ········{
7391 ············pm.UnloadCache();
7392 ············var l = pm.Objects<CmpBi1nOthpconTblAutoLeft>().ResultTable;
7393 ············pm.Delete(l);
7394 ············pm.Save();
7395 ············pm.UnloadCache();
7396 ············decimal count;
7397 ············count = (decimal) new NDOQuery<CmpBi1nOthpconTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7398 Assert. AreEqual( 0, count, "Count wrong #1") ;
7399 ············count = (decimal) new NDOQuery<CmpBi1nOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7400 Assert. AreEqual( 0, count, "Count wrong #2") ;
7401 ········}
7402 ········catch (Exception)
7403 ········{
7404 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
7405 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
7406 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
7407 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
7408 ········}
7409 ····}
7410 ····[Test]
7411 ····public void TestSaveReload()
7412 ····{
7413 ········CreateObjects();
7414 ········QueryOwn();
7415 Assert. NotNull( ownVar, "No Query Result") ;
7416 Assert. NotNull( ownVar. RelField, "No related object") ;
7417 ····}
7418 ····[Test]
7419 ····public void TestSaveReloadNull()
7420 ····{
7421 ········CreateObjects();
7422 ········QueryOwn();
7423 Assert. NotNull( ownVar, "No Query Result") ;
7424 Assert. NotNull( ownVar. RelField, "No related object") ;
7425 ········ownVar.RelField = null;
7426 ········pm.Save();
7427 ········pm.UnloadCache();
7428 ········QueryOwn();
7429 Assert. NotNull( ownVar, "No Query Result") ;
7430 Assert. Null( ownVar. RelField, "There should be no object") ;
7431 ····}
7432 ····[Test]
7433 ····public void TestChangeKeyHolderLeft()
7434 ····{
7435 ········CreateObjects();
7436 ········QueryOwn();
7437 Assert. NotNull( ownVar, "No Query Result") ;
7438 Assert. NotNull( ownVar. RelField, "No related object") ;
7439 ········int x = ownVar.RelField.Dummy;
7440 ········ownVar.Dummy = 4711;
7441 ········pm.Save();
7442 ········pm.UnloadCache();
7443 ········QueryOwn();
7444 Assert. NotNull( ownVar, "No Query Result") ;
7445 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
7446 Assert. NotNull( ownVar. RelField, "No related object") ;
7447 ····}
7448 ····[Test]
7449 ····public void TestChangeKeyHolderLeftNoTouch()
7450 ····{
7451 ········CreateObjects();
7452 ········QueryOwn();
7453 Assert. NotNull( ownVar, "No Query Result") ;
7454 Assert. NotNull( ownVar. RelField, "No related object") ;
7455 ········ownVar.Dummy = 4711;
7456 ········pm.Save();
7457 ········pm.UnloadCache();
7458 ········QueryOwn();
7459 Assert. NotNull( ownVar, "No Query Result") ;
7460 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
7461 Assert. NotNull( ownVar. RelField, "No related object") ;
7462 ····}
7463 ····[Test]
7464 ····public void TestRelationHash()
7465 ····{
7466 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi1nOthpconTblAutoLeft));
7467 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
7468 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi1nOthpconTblAutoRightBase));
7469 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
7470 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
7471 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
7472 ········Class clderRight = pm.NDOMapping.FindClass(typeof(CmpBi1nOthpconTblAutoRightDerived));
7473 ········Relation relderRight = clderRight.FindRelation("relField");
7474 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
7475 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
7476 ····}
7477 ····void CreateObjects()
7478 ····{
7479 ········pm.MakePersistent(ownVar);
7480 ········ownVar.AssignRelation(otherVar);
7481 ········pm.Save();
7482 ········pm.UnloadCache();
7483 ····}
7484 ····void QueryOwn()
7485 ····{
7486 ········var q = new NDOQuery<CmpBi1nOthpconTblAutoLeft>(pm);
7487 ········ownVar = q.ExecuteSingle();
7488 ····}
7489 ····void QueryOther()
7490 ····{
7491 ········var q = new NDOQuery<CmpBi1nOthpconTblAutoRightBase>(pm);
7492 ········otherVar = q.ExecuteSingle();
7493 ····}
7494 }
7495
7496
7497 [TestFixture]
7498 public class TestCmpBinnOthpconTblAuto
7499 {
7500 ····CmpBinnOthpconTblAutoLeft ownVar;
7501 ····CmpBinnOthpconTblAutoRightBase otherVar;
7502 ····PersistenceManager pm;
7503 ····[SetUp]
7504 ····public void Setup()
7505 ····{
7506 ········pm = PmFactory.NewPersistenceManager();
7507 ········ownVar = new CmpBinnOthpconTblAutoLeft();
7508 ········otherVar = new CmpBinnOthpconTblAutoRightDerived();
7509 ····}
7510 ····[TearDown]
7511 ····public void TearDown()
7512 ····{
7513 ········try
7514 ········{
7515 ············pm.UnloadCache();
7516 ············var l = pm.Objects<CmpBinnOthpconTblAutoLeft>().ResultTable;
7517 ············pm.Delete(l);
7518 ············pm.Save();
7519 ············pm.UnloadCache();
7520 ············decimal count;
7521 ············count = (decimal) new NDOQuery<CmpBinnOthpconTblAutoLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7522 Assert. AreEqual( 0, count, "Count wrong #1") ;
7523 ············count = (decimal) new NDOQuery<CmpBinnOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7524 Assert. AreEqual( 0, count, "Count wrong #2") ;
7525 ········}
7526 ········catch (Exception)
7527 ········{
7528 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
7529 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
7530 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
7531 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
7532 ········}
7533 ····}
7534 ····[Test]
7535 ····public void TestSaveReload()
7536 ····{
7537 ········CreateObjects();
7538 ········QueryOwn();
7539 Assert. NotNull( ownVar, "No Query Result") ;
7540 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
7541 ····}
7542 ····[Test]
7543 ····public void TestSaveReloadNull()
7544 ····{
7545 ········CreateObjects();
7546 ········QueryOwn();
7547 Assert. NotNull( ownVar, "No Query Result") ;
7548 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
7549 ········ownVar.RelField = new List<CmpBinnOthpconTblAutoRightBase>();
7550 ········pm.Save();
7551 ········pm.UnloadCache();
7552 ········QueryOwn();
7553 Assert. NotNull( ownVar, "No Query Result") ;
7554 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
7555 ····}
7556 ····[Test]
7557 ····public void TestSaveReloadRemove()
7558 ····{
7559 ········CreateObjects();
7560 ········QueryOwn();
7561 Assert. NotNull( ownVar, "No Query Result") ;
7562 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
7563 ········ownVar.RemoveRelatedObject();
7564 ········pm.Save();
7565 ········pm.UnloadCache();
7566 ········QueryOwn();
7567 Assert. NotNull( ownVar, "No Query Result") ;
7568 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
7569 ····}
7570 ····[Test]
7571 ····public void TestRelationHash()
7572 ····{
7573 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBinnOthpconTblAutoLeft));
7574 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
7575 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBinnOthpconTblAutoRightBase));
7576 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
7577 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
7578 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
7579 ········Class clderRight = pm.NDOMapping.FindClass(typeof(CmpBinnOthpconTblAutoRightDerived));
7580 ········Relation relderRight = clderRight.FindRelation("relField");
7581 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
7582 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
7583 ····}
7584 ····void CreateObjects()
7585 ····{
7586 ········pm.MakePersistent(ownVar);
7587 ········ownVar.AssignRelation(otherVar);
7588 ········pm.Save();
7589 ········pm.UnloadCache();
7590 ····}
7591 ····void QueryOwn()
7592 ····{
7593 ········var q = new NDOQuery<CmpBinnOthpconTblAutoLeft>(pm);
7594 ········ownVar = q.ExecuteSingle();
7595 ····}
7596 ····void QueryOther()
7597 ····{
7598 ········var q = new NDOQuery<CmpBinnOthpconTblAutoRightBase>(pm);
7599 ········otherVar = q.ExecuteSingle();
7600 ····}
7601 }
7602
7603
7604 [TestFixture]
7605 public class TestAgrDir1OwnpconOthpconNoTblAuto
7606 {
7607 ····AgrDir1OwnpconOthpconNoTblAutoLeftBase ownVar;
7608 ····AgrDir1OwnpconOthpconNoTblAutoRightBase otherVar;
7609 ····PersistenceManager pm;
7610 ····[SetUp]
7611 ····public void Setup()
7612 ····{
7613 ········pm = PmFactory.NewPersistenceManager();
7614 ········ownVar = new AgrDir1OwnpconOthpconNoTblAutoLeftDerived();
7615 ········otherVar = new AgrDir1OwnpconOthpconNoTblAutoRightDerived();
7616 ····}
7617 ····[TearDown]
7618 ····public void TearDown()
7619 ····{
7620 ········try
7621 ········{
7622 ············pm.UnloadCache();
7623 ············var l = pm.Objects<AgrDir1OwnpconOthpconNoTblAutoLeftBase>().ResultTable;
7624 ············pm.Delete(l);
7625 ············pm.Save();
7626 ············pm.UnloadCache();
7627 ············var m = pm.Objects<AgrDir1OwnpconOthpconNoTblAutoRightBase>().ResultTable;
7628 ············pm.Delete(m);
7629 ············pm.Save();
7630 ············pm.UnloadCache();
7631 ············decimal count;
7632 ············count = (decimal) new NDOQuery<AgrDir1OwnpconOthpconNoTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7633 Assert. AreEqual( 0, count, "Count wrong #1") ;
7634 ············count = (decimal) new NDOQuery<AgrDir1OwnpconOthpconNoTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7635 Assert. AreEqual( 0, count, "Count wrong #2") ;
7636 ········}
7637 ········catch (Exception)
7638 ········{
7639 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
7640 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
7641 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
7642 ········}
7643 ····}
7644 ····[Test]
7645 ····public void TestSaveReload()
7646 ····{
7647 ········CreateObjects();
7648 ········QueryOwn();
7649 Assert. NotNull( ownVar, "No Query Result") ;
7650 Assert. NotNull( ownVar. RelField, "No related object") ;
7651 ····}
7652 ····[Test]
7653 ····public void TestSaveReloadNull()
7654 ····{
7655 ········CreateObjects();
7656 ········QueryOwn();
7657 Assert. NotNull( ownVar, "No Query Result") ;
7658 Assert. NotNull( ownVar. RelField, "No related object") ;
7659 ········ownVar.RelField = null;
7660 ········pm.Save();
7661 ········pm.UnloadCache();
7662 ········QueryOwn();
7663 Assert. NotNull( ownVar, "No Query Result") ;
7664 Assert. Null( ownVar. RelField, "There should be no object") ;
7665 ····}
7666 ····[Test]
7667 ····public void TestChangeKeyHolderLeft()
7668 ····{
7669 ········CreateObjects();
7670 ········QueryOwn();
7671 Assert. NotNull( ownVar, "No Query Result") ;
7672 Assert. NotNull( ownVar. RelField, "No related object") ;
7673 ········int x = ownVar.RelField.Dummy;
7674 ········ownVar.Dummy = 4711;
7675 ········pm.Save();
7676 ········pm.UnloadCache();
7677 ········QueryOwn();
7678 Assert. NotNull( ownVar, "No Query Result") ;
7679 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
7680 Assert. NotNull( ownVar. RelField, "No related object") ;
7681 ····}
7682 ····[Test]
7683 ····public void TestChangeKeyHolderLeftNoTouch()
7684 ····{
7685 ········CreateObjects();
7686 ········QueryOwn();
7687 Assert. NotNull( ownVar, "No Query Result") ;
7688 Assert. NotNull( ownVar. RelField, "No related object") ;
7689 ········ownVar.Dummy = 4711;
7690 ········pm.Save();
7691 ········pm.UnloadCache();
7692 ········QueryOwn();
7693 Assert. NotNull( ownVar, "No Query Result") ;
7694 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
7695 Assert. NotNull( ownVar. RelField, "No related object") ;
7696 ····}
7697 ····[Test]
7698 ····public void TestUpdateOrder()
7699 ····{
7700 ········NDO.Mapping.NDOMapping mapping = pm.NDOMapping;
7701 ········MethodInfo mi = mapping.GetType().GetMethod("GetUpdateOrder");
7702 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1OwnpconOthpconNoTblAutoLeftBase)}))
7703 ················> ((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1OwnpconOthpconNoTblAutoRightBase)})), "Wrong order #1");
7704 ········Assert.That(((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1OwnpconOthpconNoTblAutoLeftDerived)}))
7705 ················> ((int)mi.Invoke(mapping, new object[]{typeof(AgrDir1OwnpconOthpconNoTblAutoRightDerived)})), "Wrong order #2");
7706 ········Debug.WriteLine("AgrDir1OwnpconOthpconNoTblAutoLeftBase");
7707 ····}
7708 ····void CreateObjects()
7709 ····{
7710 ········pm.MakePersistent(ownVar);
7711 ········pm.Save();
7712 ········pm.MakePersistent(otherVar);
7713 ········pm.Save();
7714 ········ownVar.AssignRelation(otherVar);
7715 ········pm.Save();
7716 ········pm.UnloadCache();
7717 ····}
7718 ····void QueryOwn()
7719 ····{
7720 ········var q = new NDOQuery<AgrDir1OwnpconOthpconNoTblAutoLeftBase>(pm);
7721 ········ownVar = q.ExecuteSingle();
7722 ····}
7723 ····void QueryOther()
7724 ····{
7725 ········var q = new NDOQuery<AgrDir1OwnpconOthpconNoTblAutoRightBase>(pm);
7726 ········otherVar = q.ExecuteSingle();
7727 ····}
7728 }
7729
7730
7731 [TestFixture]
7732 public class TestAgrDir1OwnpconOthpconTblAuto
7733 {
7734 ····AgrDir1OwnpconOthpconTblAutoLeftBase ownVar;
7735 ····AgrDir1OwnpconOthpconTblAutoRightBase otherVar;
7736 ····PersistenceManager pm;
7737 ····[SetUp]
7738 ····public void Setup()
7739 ····{
7740 ········pm = PmFactory.NewPersistenceManager();
7741 ········ownVar = new AgrDir1OwnpconOthpconTblAutoLeftDerived();
7742 ········otherVar = new AgrDir1OwnpconOthpconTblAutoRightDerived();
7743 ····}
7744 ····[TearDown]
7745 ····public void TearDown()
7746 ····{
7747 ········try
7748 ········{
7749 ············pm.UnloadCache();
7750 ············var l = pm.Objects<AgrDir1OwnpconOthpconTblAutoLeftBase>().ResultTable;
7751 ············pm.Delete(l);
7752 ············pm.Save();
7753 ············pm.UnloadCache();
7754 ············var m = pm.Objects<AgrDir1OwnpconOthpconTblAutoRightBase>().ResultTable;
7755 ············pm.Delete(m);
7756 ············pm.Save();
7757 ············pm.UnloadCache();
7758 ············decimal count;
7759 ············count = (decimal) new NDOQuery<AgrDir1OwnpconOthpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7760 Assert. AreEqual( 0, count, "Count wrong #1") ;
7761 ············count = (decimal) new NDOQuery<AgrDir1OwnpconOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7762 Assert. AreEqual( 0, count, "Count wrong #2") ;
7763 ········}
7764 ········catch (Exception)
7765 ········{
7766 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
7767 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
7768 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
7769 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
7770 ········}
7771 ····}
7772 ····[Test]
7773 ····public void TestSaveReload()
7774 ····{
7775 ········CreateObjects();
7776 ········QueryOwn();
7777 Assert. NotNull( ownVar, "No Query Result") ;
7778 Assert. NotNull( ownVar. RelField, "No related object") ;
7779 ····}
7780 ····[Test]
7781 ····public void TestSaveReloadNull()
7782 ····{
7783 ········CreateObjects();
7784 ········QueryOwn();
7785 Assert. NotNull( ownVar, "No Query Result") ;
7786 Assert. NotNull( ownVar. RelField, "No related object") ;
7787 ········ownVar.RelField = null;
7788 ········pm.Save();
7789 ········pm.UnloadCache();
7790 ········QueryOwn();
7791 Assert. NotNull( ownVar, "No Query Result") ;
7792 Assert. Null( ownVar. RelField, "There should be no object") ;
7793 ····}
7794 ····[Test]
7795 ····public void TestChangeKeyHolderLeft()
7796 ····{
7797 ········CreateObjects();
7798 ········QueryOwn();
7799 Assert. NotNull( ownVar, "No Query Result") ;
7800 Assert. NotNull( ownVar. RelField, "No related object") ;
7801 ········int x = ownVar.RelField.Dummy;
7802 ········ownVar.Dummy = 4711;
7803 ········pm.Save();
7804 ········pm.UnloadCache();
7805 ········QueryOwn();
7806 Assert. NotNull( ownVar, "No Query Result") ;
7807 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
7808 Assert. NotNull( ownVar. RelField, "No related object") ;
7809 ····}
7810 ····[Test]
7811 ····public void TestChangeKeyHolderLeftNoTouch()
7812 ····{
7813 ········CreateObjects();
7814 ········QueryOwn();
7815 Assert. NotNull( ownVar, "No Query Result") ;
7816 Assert. NotNull( ownVar. RelField, "No related object") ;
7817 ········ownVar.Dummy = 4711;
7818 ········pm.Save();
7819 ········pm.UnloadCache();
7820 ········QueryOwn();
7821 Assert. NotNull( ownVar, "No Query Result") ;
7822 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
7823 Assert. NotNull( ownVar. RelField, "No related object") ;
7824 ····}
7825 ····void CreateObjects()
7826 ····{
7827 ········pm.MakePersistent(ownVar);
7828 ········pm.MakePersistent(otherVar);
7829 ········ownVar.AssignRelation(otherVar);
7830 ········pm.Save();
7831 ········pm.UnloadCache();
7832 ····}
7833 ····void QueryOwn()
7834 ····{
7835 ········var q = new NDOQuery<AgrDir1OwnpconOthpconTblAutoLeftBase>(pm);
7836 ········ownVar = q.ExecuteSingle();
7837 ····}
7838 ····void QueryOther()
7839 ····{
7840 ········var q = new NDOQuery<AgrDir1OwnpconOthpconTblAutoRightBase>(pm);
7841 ········otherVar = q.ExecuteSingle();
7842 ····}
7843 }
7844
7845
7846 [TestFixture]
7847 public class TestAgrBi11OwnpconOthpconNoTblAuto
7848 {
7849 ····AgrBi11OwnpconOthpconNoTblAutoLeftBase ownVar;
7850 ····AgrBi11OwnpconOthpconNoTblAutoRightBase otherVar;
7851 ····PersistenceManager pm;
7852 ····[SetUp]
7853 ····public void Setup()
7854 ····{
7855 ········pm = PmFactory.NewPersistenceManager();
7856 ········ownVar = new AgrBi11OwnpconOthpconNoTblAutoLeftDerived();
7857 ········otherVar = new AgrBi11OwnpconOthpconNoTblAutoRightDerived();
7858 ····}
7859 ····[TearDown]
7860 ····public void TearDown()
7861 ····{
7862 ········try
7863 ········{
7864 ············pm.UnloadCache();
7865 ············var l = pm.Objects<AgrBi11OwnpconOthpconNoTblAutoLeftBase>().ResultTable;
7866 ············pm.Delete(l);
7867 ············pm.Save();
7868 ············pm.UnloadCache();
7869 ············var m = pm.Objects<AgrBi11OwnpconOthpconNoTblAutoRightBase>().ResultTable;
7870 ············pm.Delete(m);
7871 ············pm.Save();
7872 ············pm.UnloadCache();
7873 ············decimal count;
7874 ············count = (decimal) new NDOQuery<AgrBi11OwnpconOthpconNoTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7875 Assert. AreEqual( 0, count, "Count wrong #1") ;
7876 ············count = (decimal) new NDOQuery<AgrBi11OwnpconOthpconNoTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
7877 Assert. AreEqual( 0, count, "Count wrong #2") ;
7878 ········}
7879 ········catch (Exception)
7880 ········{
7881 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
7882 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
7883 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
7884 ········}
7885 ····}
7886 ····[Test]
7887 ····public void TestSaveReload()
7888 ····{
7889 ········CreateObjects();
7890 ········QueryOwn();
7891 Assert. NotNull( ownVar, "No Query Result") ;
7892 Assert. NotNull( ownVar. RelField, "No related object") ;
7893 ····}
7894 ····[Test]
7895 ····public void TestSaveReloadNull()
7896 ····{
7897 ········CreateObjects();
7898 ········QueryOwn();
7899 Assert. NotNull( ownVar, "No Query Result") ;
7900 Assert. NotNull( ownVar. RelField, "No related object") ;
7901 ········ownVar.RelField = null;
7902 ········pm.Save();
7903 ········pm.UnloadCache();
7904 ········QueryOwn();
7905 Assert. NotNull( ownVar, "No Query Result") ;
7906 Assert. Null( ownVar. RelField, "There should be no object") ;
7907 ····}
7908 ····[Test]
7909 ····public void TestChangeKeyHolderLeft()
7910 ····{
7911 ········CreateObjects();
7912 ········QueryOwn();
7913 Assert. NotNull( ownVar, "No Query Result") ;
7914 Assert. NotNull( ownVar. RelField, "No related object") ;
7915 ········int x = ownVar.RelField.Dummy;
7916 ········ownVar.Dummy = 4711;
7917 ········pm.Save();
7918 ········pm.UnloadCache();
7919 ········QueryOwn();
7920 Assert. NotNull( ownVar, "No Query Result") ;
7921 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
7922 Assert. NotNull( ownVar. RelField, "No related object") ;
7923 ····}
7924 ····[Test]
7925 ····public void TestChangeKeyHolderRight()
7926 ····{
7927 ········CreateObjects();
7928 ········QueryOther();
7929 Assert. NotNull( otherVar, "No Query Result") ;
7930 Assert. NotNull( otherVar. RelField, "No related object") ;
7931 ········int x = otherVar.RelField.Dummy;
7932 ········otherVar.Dummy = 4711;
7933 ········pm.Save();
7934 ········pm.UnloadCache();
7935 ········QueryOther();
7936 Assert. NotNull( otherVar, "No Query Result") ;
7937 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
7938 Assert. NotNull( otherVar. RelField, "No related object") ;
7939 ····}
7940 ····[Test]
7941 ····public void TestChangeKeyHolderLeftNoTouch()
7942 ····{
7943 ········CreateObjects();
7944 ········QueryOwn();
7945 Assert. NotNull( ownVar, "No Query Result") ;
7946 Assert. NotNull( ownVar. RelField, "No related object") ;
7947 ········ownVar.Dummy = 4711;
7948 ········pm.Save();
7949 ········pm.UnloadCache();
7950 ········QueryOwn();
7951 Assert. NotNull( ownVar, "No Query Result") ;
7952 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
7953 Assert. NotNull( ownVar. RelField, "No related object") ;
7954 ····}
7955 ····[Test]
7956 ····public void TestChangeKeyHolderRightNoTouch()
7957 ····{
7958 ········CreateObjects();
7959 ········QueryOther();
7960 Assert. NotNull( otherVar, "No Query Result") ;
7961 Assert. NotNull( otherVar. RelField, "No related object") ;
7962 ········otherVar.Dummy = 4711;
7963 ········pm.Save();
7964 ········pm.UnloadCache();
7965 ········QueryOther();
7966 Assert. NotNull( otherVar, "No Query Result") ;
7967 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
7968 Assert. NotNull( otherVar. RelField, "No related object") ;
7969 ····}
7970 ····[Test]
7971 ····public void TestRelationHash()
7972 ····{
7973 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconOthpconNoTblAutoLeftBase));
7974 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
7975 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconOthpconNoTblAutoRightBase));
7976 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
7977 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
7978 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
7979 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconOthpconNoTblAutoLeftDerived));
7980 ········Relation relderLeft = clderLeft.FindRelation("relField");
7981 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
7982 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
7983 ········Class clderRight = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconOthpconNoTblAutoRightDerived));
7984 ········Relation relderRight = clderRight.FindRelation("relField");
7985 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
7986 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
7987 ········Assert.That(relderLeft.Equals(relderRight), "Relation should be equal #7");
7988 ········Assert.That(relderRight.Equals(relderLeft), "Relation should be equal #8");
7989 ····}
7990 ····void CreateObjects()
7991 ····{
7992 ········pm.MakePersistent(ownVar);
7993 ········pm.Save();
7994 ········pm.MakePersistent(otherVar);
7995 ········pm.Save();
7996 ········pm.Save();
7997 ········ownVar.AssignRelation(otherVar);
7998 ········pm.Save();
7999 ········pm.UnloadCache();
8000 ····}
8001 ····void QueryOwn()
8002 ····{
8003 ········var q = new NDOQuery<AgrBi11OwnpconOthpconNoTblAutoLeftBase>(pm);
8004 ········ownVar = q.ExecuteSingle();
8005 ····}
8006 ····void QueryOther()
8007 ····{
8008 ········var q = new NDOQuery<AgrBi11OwnpconOthpconNoTblAutoRightBase>(pm);
8009 ········otherVar = q.ExecuteSingle();
8010 ····}
8011 }
8012
8013
8014 [TestFixture]
8015 public class TestAgrBi11OwnpconOthpconTblAuto
8016 {
8017 ····AgrBi11OwnpconOthpconTblAutoLeftBase ownVar;
8018 ····AgrBi11OwnpconOthpconTblAutoRightBase otherVar;
8019 ····PersistenceManager pm;
8020 ····[SetUp]
8021 ····public void Setup()
8022 ····{
8023 ········pm = PmFactory.NewPersistenceManager();
8024 ········ownVar = new AgrBi11OwnpconOthpconTblAutoLeftDerived();
8025 ········otherVar = new AgrBi11OwnpconOthpconTblAutoRightDerived();
8026 ····}
8027 ····[TearDown]
8028 ····public void TearDown()
8029 ····{
8030 ········try
8031 ········{
8032 ············pm.UnloadCache();
8033 ············var l = pm.Objects<AgrBi11OwnpconOthpconTblAutoLeftBase>().ResultTable;
8034 ············pm.Delete(l);
8035 ············pm.Save();
8036 ············pm.UnloadCache();
8037 ············var m = pm.Objects<AgrBi11OwnpconOthpconTblAutoRightBase>().ResultTable;
8038 ············pm.Delete(m);
8039 ············pm.Save();
8040 ············pm.UnloadCache();
8041 ············decimal count;
8042 ············count = (decimal) new NDOQuery<AgrBi11OwnpconOthpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8043 Assert. AreEqual( 0, count, "Count wrong #1") ;
8044 ············count = (decimal) new NDOQuery<AgrBi11OwnpconOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8045 Assert. AreEqual( 0, count, "Count wrong #2") ;
8046 ········}
8047 ········catch (Exception)
8048 ········{
8049 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
8050 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
8051 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
8052 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
8053 ········}
8054 ····}
8055 ····[Test]
8056 ····public void TestSaveReload()
8057 ····{
8058 ········CreateObjects();
8059 ········QueryOwn();
8060 Assert. NotNull( ownVar, "No Query Result") ;
8061 Assert. NotNull( ownVar. RelField, "No related object") ;
8062 ····}
8063 ····[Test]
8064 ····public void TestSaveReloadNull()
8065 ····{
8066 ········CreateObjects();
8067 ········QueryOwn();
8068 Assert. NotNull( ownVar, "No Query Result") ;
8069 Assert. NotNull( ownVar. RelField, "No related object") ;
8070 ········ownVar.RelField = null;
8071 ········pm.Save();
8072 ········pm.UnloadCache();
8073 ········QueryOwn();
8074 Assert. NotNull( ownVar, "No Query Result") ;
8075 Assert. Null( ownVar. RelField, "There should be no object") ;
8076 ····}
8077 ····[Test]
8078 ····public void TestChangeKeyHolderLeft()
8079 ····{
8080 ········CreateObjects();
8081 ········QueryOwn();
8082 Assert. NotNull( ownVar, "No Query Result") ;
8083 Assert. NotNull( ownVar. RelField, "No related object") ;
8084 ········int x = ownVar.RelField.Dummy;
8085 ········ownVar.Dummy = 4711;
8086 ········pm.Save();
8087 ········pm.UnloadCache();
8088 ········QueryOwn();
8089 Assert. NotNull( ownVar, "No Query Result") ;
8090 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
8091 Assert. NotNull( ownVar. RelField, "No related object") ;
8092 ····}
8093 ····[Test]
8094 ····public void TestChangeKeyHolderRight()
8095 ····{
8096 ········CreateObjects();
8097 ········QueryOther();
8098 Assert. NotNull( otherVar, "No Query Result") ;
8099 Assert. NotNull( otherVar. RelField, "No related object") ;
8100 ········int x = otherVar.RelField.Dummy;
8101 ········otherVar.Dummy = 4711;
8102 ········pm.Save();
8103 ········pm.UnloadCache();
8104 ········QueryOther();
8105 Assert. NotNull( otherVar, "No Query Result") ;
8106 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
8107 Assert. NotNull( otherVar. RelField, "No related object") ;
8108 ····}
8109 ····[Test]
8110 ····public void TestChangeKeyHolderLeftNoTouch()
8111 ····{
8112 ········CreateObjects();
8113 ········QueryOwn();
8114 Assert. NotNull( ownVar, "No Query Result") ;
8115 Assert. NotNull( ownVar. RelField, "No related object") ;
8116 ········ownVar.Dummy = 4711;
8117 ········pm.Save();
8118 ········pm.UnloadCache();
8119 ········QueryOwn();
8120 Assert. NotNull( ownVar, "No Query Result") ;
8121 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
8122 Assert. NotNull( ownVar. RelField, "No related object") ;
8123 ····}
8124 ····[Test]
8125 ····public void TestChangeKeyHolderRightNoTouch()
8126 ····{
8127 ········CreateObjects();
8128 ········QueryOther();
8129 Assert. NotNull( otherVar, "No Query Result") ;
8130 Assert. NotNull( otherVar. RelField, "No related object") ;
8131 ········otherVar.Dummy = 4711;
8132 ········pm.Save();
8133 ········pm.UnloadCache();
8134 ········QueryOther();
8135 Assert. NotNull( otherVar, "No Query Result") ;
8136 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
8137 Assert. NotNull( otherVar. RelField, "No related object") ;
8138 ····}
8139 ····[Test]
8140 ····public void TestRelationHash()
8141 ····{
8142 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconOthpconTblAutoLeftBase));
8143 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
8144 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconOthpconTblAutoRightBase));
8145 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
8146 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
8147 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
8148 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconOthpconTblAutoLeftDerived));
8149 ········Relation relderLeft = clderLeft.FindRelation("relField");
8150 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
8151 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
8152 ········Class clderRight = pm.NDOMapping.FindClass(typeof(AgrBi11OwnpconOthpconTblAutoRightDerived));
8153 ········Relation relderRight = clderRight.FindRelation("relField");
8154 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
8155 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
8156 ········Assert.That(relderLeft.Equals(relderRight), "Relation should be equal #7");
8157 ········Assert.That(relderRight.Equals(relderLeft), "Relation should be equal #8");
8158 ····}
8159 ····void CreateObjects()
8160 ····{
8161 ········pm.MakePersistent(ownVar);
8162 ········pm.MakePersistent(otherVar);
8163 ········pm.Save();
8164 ········ownVar.AssignRelation(otherVar);
8165 ········pm.Save();
8166 ········pm.UnloadCache();
8167 ····}
8168 ····void QueryOwn()
8169 ····{
8170 ········var q = new NDOQuery<AgrBi11OwnpconOthpconTblAutoLeftBase>(pm);
8171 ········ownVar = q.ExecuteSingle();
8172 ····}
8173 ····void QueryOther()
8174 ····{
8175 ········var q = new NDOQuery<AgrBi11OwnpconOthpconTblAutoRightBase>(pm);
8176 ········otherVar = q.ExecuteSingle();
8177 ····}
8178 }
8179
8180
8181 [TestFixture]
8182 public class TestAgrDirnOwnpconOthpconTblAuto
8183 {
8184 ····AgrDirnOwnpconOthpconTblAutoLeftBase ownVar;
8185 ····AgrDirnOwnpconOthpconTblAutoRightBase otherVar;
8186 ····PersistenceManager pm;
8187 ····[SetUp]
8188 ····public void Setup()
8189 ····{
8190 ········pm = PmFactory.NewPersistenceManager();
8191 ········ownVar = new AgrDirnOwnpconOthpconTblAutoLeftDerived();
8192 ········otherVar = new AgrDirnOwnpconOthpconTblAutoRightDerived();
8193 ····}
8194 ····[TearDown]
8195 ····public void TearDown()
8196 ····{
8197 ········try
8198 ········{
8199 ············pm.UnloadCache();
8200 ············var l = pm.Objects<AgrDirnOwnpconOthpconTblAutoLeftBase>().ResultTable;
8201 ············pm.Delete(l);
8202 ············pm.Save();
8203 ············pm.UnloadCache();
8204 ············var m = pm.Objects<AgrDirnOwnpconOthpconTblAutoRightBase>().ResultTable;
8205 ············pm.Delete(m);
8206 ············pm.Save();
8207 ············pm.UnloadCache();
8208 ············decimal count;
8209 ············count = (decimal) new NDOQuery<AgrDirnOwnpconOthpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8210 Assert. AreEqual( 0, count, "Count wrong #1") ;
8211 ············count = (decimal) new NDOQuery<AgrDirnOwnpconOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8212 Assert. AreEqual( 0, count, "Count wrong #2") ;
8213 ········}
8214 ········catch (Exception)
8215 ········{
8216 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
8217 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
8218 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
8219 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
8220 ········}
8221 ····}
8222 ····[Test]
8223 ····public void TestSaveReload()
8224 ····{
8225 ········CreateObjects();
8226 ········QueryOwn();
8227 Assert. NotNull( ownVar, "No Query Result") ;
8228 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
8229 ····}
8230 ····[Test]
8231 ····public void TestSaveReloadNull()
8232 ····{
8233 ········CreateObjects();
8234 ········QueryOwn();
8235 Assert. NotNull( ownVar, "No Query Result") ;
8236 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
8237 ········ownVar.RelField = new List<AgrDirnOwnpconOthpconTblAutoRightBase>();
8238 ········pm.Save();
8239 ········pm.UnloadCache();
8240 ········QueryOwn();
8241 Assert. NotNull( ownVar, "No Query Result") ;
8242 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
8243 ····}
8244 ····[Test]
8245 ····public void TestSaveReloadRemove()
8246 ····{
8247 ········CreateObjects();
8248 ········QueryOwn();
8249 Assert. NotNull( ownVar, "No Query Result") ;
8250 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
8251 ········ownVar.RemoveRelatedObject();
8252 ········pm.Save();
8253 ········pm.UnloadCache();
8254 ········QueryOwn();
8255 Assert. NotNull( ownVar, "No Query Result") ;
8256 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
8257 ····}
8258 ····void CreateObjects()
8259 ····{
8260 ········pm.MakePersistent(ownVar);
8261 ········pm.MakePersistent(otherVar);
8262 ········ownVar.AssignRelation(otherVar);
8263 ········pm.Save();
8264 ········pm.UnloadCache();
8265 ····}
8266 ····void QueryOwn()
8267 ····{
8268 ········var q = new NDOQuery<AgrDirnOwnpconOthpconTblAutoLeftBase>(pm);
8269 ········ownVar = q.ExecuteSingle();
8270 ····}
8271 ····void QueryOther()
8272 ····{
8273 ········var q = new NDOQuery<AgrDirnOwnpconOthpconTblAutoRightBase>(pm);
8274 ········otherVar = q.ExecuteSingle();
8275 ····}
8276 }
8277
8278
8279 [TestFixture]
8280 public class TestAgrBin1OwnpconOthpconTblAuto
8281 {
8282 ····AgrBin1OwnpconOthpconTblAutoLeftBase ownVar;
8283 ····AgrBin1OwnpconOthpconTblAutoRightBase otherVar;
8284 ····PersistenceManager pm;
8285 ····[SetUp]
8286 ····public void Setup()
8287 ····{
8288 ········pm = PmFactory.NewPersistenceManager();
8289 ········ownVar = new AgrBin1OwnpconOthpconTblAutoLeftDerived();
8290 ········otherVar = new AgrBin1OwnpconOthpconTblAutoRightDerived();
8291 ····}
8292 ····[TearDown]
8293 ····public void TearDown()
8294 ····{
8295 ········try
8296 ········{
8297 ············pm.UnloadCache();
8298 ············var l = pm.Objects<AgrBin1OwnpconOthpconTblAutoLeftBase>().ResultTable;
8299 ············pm.Delete(l);
8300 ············pm.Save();
8301 ············pm.UnloadCache();
8302 ············var m = pm.Objects<AgrBin1OwnpconOthpconTblAutoRightBase>().ResultTable;
8303 ············pm.Delete(m);
8304 ············pm.Save();
8305 ············pm.UnloadCache();
8306 ············decimal count;
8307 ············count = (decimal) new NDOQuery<AgrBin1OwnpconOthpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8308 Assert. AreEqual( 0, count, "Count wrong #1") ;
8309 ············count = (decimal) new NDOQuery<AgrBin1OwnpconOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8310 Assert. AreEqual( 0, count, "Count wrong #2") ;
8311 ········}
8312 ········catch (Exception)
8313 ········{
8314 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
8315 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
8316 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
8317 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
8318 ········}
8319 ····}
8320 ····[Test]
8321 ····public void TestSaveReload()
8322 ····{
8323 ········CreateObjects();
8324 ········QueryOwn();
8325 Assert. NotNull( ownVar, "No Query Result") ;
8326 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
8327 ····}
8328 ····[Test]
8329 ····public void TestSaveReloadNull()
8330 ····{
8331 ········CreateObjects();
8332 ········QueryOwn();
8333 Assert. NotNull( ownVar, "No Query Result") ;
8334 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
8335 ········ownVar.RelField = new List<AgrBin1OwnpconOthpconTblAutoRightBase>();
8336 ········pm.Save();
8337 ········pm.UnloadCache();
8338 ········QueryOwn();
8339 Assert. NotNull( ownVar, "No Query Result") ;
8340 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
8341 ····}
8342 ····[Test]
8343 ····public void TestSaveReloadRemove()
8344 ····{
8345 ········CreateObjects();
8346 ········QueryOwn();
8347 Assert. NotNull( ownVar, "No Query Result") ;
8348 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
8349 ········ownVar.RemoveRelatedObject();
8350 ········pm.Save();
8351 ········pm.UnloadCache();
8352 ········QueryOwn();
8353 Assert. NotNull( ownVar, "No Query Result") ;
8354 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
8355 ····}
8356 ····[Test]
8357 ····public void TestChangeKeyHolderRight()
8358 ····{
8359 ········CreateObjects();
8360 ········QueryOther();
8361 Assert. NotNull( otherVar, "No Query Result") ;
8362 Assert. NotNull( otherVar. RelField, "No related object") ;
8363 ········int x = otherVar.RelField.Dummy;
8364 ········otherVar.Dummy = 4711;
8365 ········pm.Save();
8366 ········pm.UnloadCache();
8367 ········QueryOther();
8368 Assert. NotNull( otherVar, "No Query Result") ;
8369 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
8370 Assert. NotNull( otherVar. RelField, "No related object") ;
8371 ····}
8372 ····[Test]
8373 ····public void TestChangeKeyHolderRightNoTouch()
8374 ····{
8375 ········CreateObjects();
8376 ········QueryOther();
8377 Assert. NotNull( otherVar, "No Query Result") ;
8378 Assert. NotNull( otherVar. RelField, "No related object") ;
8379 ········otherVar.Dummy = 4711;
8380 ········pm.Save();
8381 ········pm.UnloadCache();
8382 ········QueryOther();
8383 Assert. NotNull( otherVar, "No Query Result") ;
8384 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
8385 Assert. NotNull( otherVar. RelField, "No related object") ;
8386 ····}
8387 ····[Test]
8388 ····public void TestRelationHash()
8389 ····{
8390 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBin1OwnpconOthpconTblAutoLeftBase));
8391 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
8392 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBin1OwnpconOthpconTblAutoRightBase));
8393 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
8394 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
8395 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
8396 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(AgrBin1OwnpconOthpconTblAutoLeftDerived));
8397 ········Relation relderLeft = clderLeft.FindRelation("relField");
8398 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
8399 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
8400 ········Class clderRight = pm.NDOMapping.FindClass(typeof(AgrBin1OwnpconOthpconTblAutoRightDerived));
8401 ········Relation relderRight = clderRight.FindRelation("relField");
8402 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
8403 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
8404 ········Assert.That(relderLeft.Equals(relderRight), "Relation should be equal #7");
8405 ········Assert.That(relderRight.Equals(relderLeft), "Relation should be equal #8");
8406 ····}
8407 ····void CreateObjects()
8408 ····{
8409 ········pm.MakePersistent(ownVar);
8410 ········pm.MakePersistent(otherVar);
8411 ········pm.Save();
8412 ········ownVar.AssignRelation(otherVar);
8413 ········pm.Save();
8414 ········pm.UnloadCache();
8415 ····}
8416 ····void QueryOwn()
8417 ····{
8418 ········var q = new NDOQuery<AgrBin1OwnpconOthpconTblAutoLeftBase>(pm);
8419 ········ownVar = q.ExecuteSingle();
8420 ····}
8421 ····void QueryOther()
8422 ····{
8423 ········var q = new NDOQuery<AgrBin1OwnpconOthpconTblAutoRightBase>(pm);
8424 ········otherVar = q.ExecuteSingle();
8425 ····}
8426 }
8427
8428
8429 [TestFixture]
8430 public class TestAgrBi1nOwnpconOthpconTblAuto
8431 {
8432 ····AgrBi1nOwnpconOthpconTblAutoLeftBase ownVar;
8433 ····AgrBi1nOwnpconOthpconTblAutoRightBase otherVar;
8434 ····PersistenceManager pm;
8435 ····[SetUp]
8436 ····public void Setup()
8437 ····{
8438 ········pm = PmFactory.NewPersistenceManager();
8439 ········ownVar = new AgrBi1nOwnpconOthpconTblAutoLeftDerived();
8440 ········otherVar = new AgrBi1nOwnpconOthpconTblAutoRightDerived();
8441 ····}
8442 ····[TearDown]
8443 ····public void TearDown()
8444 ····{
8445 ········try
8446 ········{
8447 ············pm.UnloadCache();
8448 ············var l = pm.Objects<AgrBi1nOwnpconOthpconTblAutoLeftBase>().ResultTable;
8449 ············pm.Delete(l);
8450 ············pm.Save();
8451 ············pm.UnloadCache();
8452 ············var m = pm.Objects<AgrBi1nOwnpconOthpconTblAutoRightBase>().ResultTable;
8453 ············pm.Delete(m);
8454 ············pm.Save();
8455 ············pm.UnloadCache();
8456 ············decimal count;
8457 ············count = (decimal) new NDOQuery<AgrBi1nOwnpconOthpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8458 Assert. AreEqual( 0, count, "Count wrong #1") ;
8459 ············count = (decimal) new NDOQuery<AgrBi1nOwnpconOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8460 Assert. AreEqual( 0, count, "Count wrong #2") ;
8461 ········}
8462 ········catch (Exception)
8463 ········{
8464 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
8465 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
8466 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
8467 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
8468 ········}
8469 ····}
8470 ····[Test]
8471 ····public void TestSaveReload()
8472 ····{
8473 ········CreateObjects();
8474 ········QueryOwn();
8475 Assert. NotNull( ownVar, "No Query Result") ;
8476 Assert. NotNull( ownVar. RelField, "No related object") ;
8477 ····}
8478 ····[Test]
8479 ····public void TestSaveReloadNull()
8480 ····{
8481 ········CreateObjects();
8482 ········QueryOwn();
8483 Assert. NotNull( ownVar, "No Query Result") ;
8484 Assert. NotNull( ownVar. RelField, "No related object") ;
8485 ········ownVar.RelField = null;
8486 ········pm.Save();
8487 ········pm.UnloadCache();
8488 ········QueryOwn();
8489 Assert. NotNull( ownVar, "No Query Result") ;
8490 Assert. Null( ownVar. RelField, "There should be no object") ;
8491 ····}
8492 ····[Test]
8493 ····public void TestChangeKeyHolderLeft()
8494 ····{
8495 ········CreateObjects();
8496 ········QueryOwn();
8497 Assert. NotNull( ownVar, "No Query Result") ;
8498 Assert. NotNull( ownVar. RelField, "No related object") ;
8499 ········int x = ownVar.RelField.Dummy;
8500 ········ownVar.Dummy = 4711;
8501 ········pm.Save();
8502 ········pm.UnloadCache();
8503 ········QueryOwn();
8504 Assert. NotNull( ownVar, "No Query Result") ;
8505 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
8506 Assert. NotNull( ownVar. RelField, "No related object") ;
8507 ····}
8508 ····[Test]
8509 ····public void TestChangeKeyHolderLeftNoTouch()
8510 ····{
8511 ········CreateObjects();
8512 ········QueryOwn();
8513 Assert. NotNull( ownVar, "No Query Result") ;
8514 Assert. NotNull( ownVar. RelField, "No related object") ;
8515 ········ownVar.Dummy = 4711;
8516 ········pm.Save();
8517 ········pm.UnloadCache();
8518 ········QueryOwn();
8519 Assert. NotNull( ownVar, "No Query Result") ;
8520 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
8521 Assert. NotNull( ownVar. RelField, "No related object") ;
8522 ····}
8523 ····[Test]
8524 ····public void TestRelationHash()
8525 ····{
8526 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi1nOwnpconOthpconTblAutoLeftBase));
8527 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
8528 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi1nOwnpconOthpconTblAutoRightBase));
8529 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
8530 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
8531 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
8532 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(AgrBi1nOwnpconOthpconTblAutoLeftDerived));
8533 ········Relation relderLeft = clderLeft.FindRelation("relField");
8534 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
8535 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
8536 ········Class clderRight = pm.NDOMapping.FindClass(typeof(AgrBi1nOwnpconOthpconTblAutoRightDerived));
8537 ········Relation relderRight = clderRight.FindRelation("relField");
8538 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
8539 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
8540 ········Assert.That(relderLeft.Equals(relderRight), "Relation should be equal #7");
8541 ········Assert.That(relderRight.Equals(relderLeft), "Relation should be equal #8");
8542 ····}
8543 ····void CreateObjects()
8544 ····{
8545 ········pm.MakePersistent(ownVar);
8546 ········pm.MakePersistent(otherVar);
8547 ········ownVar.AssignRelation(otherVar);
8548 ········pm.Save();
8549 ········pm.UnloadCache();
8550 ····}
8551 ····void QueryOwn()
8552 ····{
8553 ········var q = new NDOQuery<AgrBi1nOwnpconOthpconTblAutoLeftBase>(pm);
8554 ········ownVar = q.ExecuteSingle();
8555 ····}
8556 ····void QueryOther()
8557 ····{
8558 ········var q = new NDOQuery<AgrBi1nOwnpconOthpconTblAutoRightBase>(pm);
8559 ········otherVar = q.ExecuteSingle();
8560 ····}
8561 }
8562
8563
8564 [TestFixture]
8565 public class TestAgrBinnOwnpconOthpconTblAuto
8566 {
8567 ····AgrBinnOwnpconOthpconTblAutoLeftBase ownVar;
8568 ····AgrBinnOwnpconOthpconTblAutoRightBase otherVar;
8569 ····PersistenceManager pm;
8570 ····[SetUp]
8571 ····public void Setup()
8572 ····{
8573 ········pm = PmFactory.NewPersistenceManager();
8574 ········ownVar = new AgrBinnOwnpconOthpconTblAutoLeftDerived();
8575 ········otherVar = new AgrBinnOwnpconOthpconTblAutoRightDerived();
8576 ····}
8577 ····[TearDown]
8578 ····public void TearDown()
8579 ····{
8580 ········try
8581 ········{
8582 ············pm.UnloadCache();
8583 ············var l = pm.Objects<AgrBinnOwnpconOthpconTblAutoLeftBase>().ResultTable;
8584 ············pm.Delete(l);
8585 ············pm.Save();
8586 ············pm.UnloadCache();
8587 ············var m = pm.Objects<AgrBinnOwnpconOthpconTblAutoRightBase>().ResultTable;
8588 ············pm.Delete(m);
8589 ············pm.Save();
8590 ············pm.UnloadCache();
8591 ············decimal count;
8592 ············count = (decimal) new NDOQuery<AgrBinnOwnpconOthpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8593 Assert. AreEqual( 0, count, "Count wrong #1") ;
8594 ············count = (decimal) new NDOQuery<AgrBinnOwnpconOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8595 Assert. AreEqual( 0, count, "Count wrong #2") ;
8596 ········}
8597 ········catch (Exception)
8598 ········{
8599 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
8600 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
8601 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
8602 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
8603 ········}
8604 ····}
8605 ····[Test]
8606 ····public void TestSaveReload()
8607 ····{
8608 ········CreateObjects();
8609 ········QueryOwn();
8610 Assert. NotNull( ownVar, "No Query Result") ;
8611 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
8612 ····}
8613 ····[Test]
8614 ····public void TestSaveReloadNull()
8615 ····{
8616 ········CreateObjects();
8617 ········QueryOwn();
8618 Assert. NotNull( ownVar, "No Query Result") ;
8619 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
8620 ········ownVar.RelField = new List<AgrBinnOwnpconOthpconTblAutoRightBase>();
8621 ········pm.Save();
8622 ········pm.UnloadCache();
8623 ········QueryOwn();
8624 Assert. NotNull( ownVar, "No Query Result") ;
8625 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
8626 ····}
8627 ····[Test]
8628 ····public void TestSaveReloadRemove()
8629 ····{
8630 ········CreateObjects();
8631 ········QueryOwn();
8632 Assert. NotNull( ownVar, "No Query Result") ;
8633 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
8634 ········ownVar.RemoveRelatedObject();
8635 ········pm.Save();
8636 ········pm.UnloadCache();
8637 ········QueryOwn();
8638 Assert. NotNull( ownVar, "No Query Result") ;
8639 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
8640 ····}
8641 ····[Test]
8642 ····public void TestRelationHash()
8643 ····{
8644 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBinnOwnpconOthpconTblAutoLeftBase));
8645 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
8646 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBinnOwnpconOthpconTblAutoRightBase));
8647 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
8648 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
8649 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
8650 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(AgrBinnOwnpconOthpconTblAutoLeftDerived));
8651 ········Relation relderLeft = clderLeft.FindRelation("relField");
8652 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
8653 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
8654 ········Class clderRight = pm.NDOMapping.FindClass(typeof(AgrBinnOwnpconOthpconTblAutoRightDerived));
8655 ········Relation relderRight = clderRight.FindRelation("relField");
8656 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
8657 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
8658 ········Assert.That(relderLeft.Equals(relderRight), "Relation should be equal #7");
8659 ········Assert.That(relderRight.Equals(relderLeft), "Relation should be equal #8");
8660 ····}
8661 ····void CreateObjects()
8662 ····{
8663 ········pm.MakePersistent(ownVar);
8664 ········pm.MakePersistent(otherVar);
8665 ········ownVar.AssignRelation(otherVar);
8666 ········pm.Save();
8667 ········pm.UnloadCache();
8668 ····}
8669 ····void QueryOwn()
8670 ····{
8671 ········var q = new NDOQuery<AgrBinnOwnpconOthpconTblAutoLeftBase>(pm);
8672 ········ownVar = q.ExecuteSingle();
8673 ····}
8674 ····void QueryOther()
8675 ····{
8676 ········var q = new NDOQuery<AgrBinnOwnpconOthpconTblAutoRightBase>(pm);
8677 ········otherVar = q.ExecuteSingle();
8678 ····}
8679 }
8680
8681
8682 [TestFixture]
8683 public class TestCmpDir1OwnpconOthpconNoTblAuto
8684 {
8685 ····CmpDir1OwnpconOthpconNoTblAutoLeftBase ownVar;
8686 ····CmpDir1OwnpconOthpconNoTblAutoRightBase otherVar;
8687 ····PersistenceManager pm;
8688 ····[SetUp]
8689 ····public void Setup()
8690 ····{
8691 ········pm = PmFactory.NewPersistenceManager();
8692 ········ownVar = new CmpDir1OwnpconOthpconNoTblAutoLeftDerived();
8693 ········otherVar = new CmpDir1OwnpconOthpconNoTblAutoRightDerived();
8694 ····}
8695 ····[TearDown]
8696 ····public void TearDown()
8697 ····{
8698 ········try
8699 ········{
8700 ············pm.UnloadCache();
8701 ············var l = pm.Objects<CmpDir1OwnpconOthpconNoTblAutoLeftBase>().ResultTable;
8702 ············pm.Delete(l);
8703 ············pm.Save();
8704 ············pm.UnloadCache();
8705 ············decimal count;
8706 ············count = (decimal) new NDOQuery<CmpDir1OwnpconOthpconNoTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8707 Assert. AreEqual( 0, count, "Count wrong #1") ;
8708 ············count = (decimal) new NDOQuery<CmpDir1OwnpconOthpconNoTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8709 Assert. AreEqual( 0, count, "Count wrong #2") ;
8710 ········}
8711 ········catch (Exception)
8712 ········{
8713 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
8714 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
8715 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
8716 ········}
8717 ····}
8718 ····[Test]
8719 ····public void TestSaveReload()
8720 ····{
8721 ········bool thrown = false;
8722 ········try
8723 ········{
8724 ············CreateObjects();
8725 ············QueryOwn();
8726 Assert. NotNull( ownVar, "No Query Result") ;
8727 Assert. NotNull( ownVar. RelField, "No related object") ;
8728 ········}
8729 ········catch (NDOException)
8730 ········{
8731 ············thrown = true;
8732 ········}
8733 Assert. AreEqual( true, thrown, "NDOException should have been thrown") ;
8734 ····}
8735 ····[Test]
8736 ····public void TestSaveReloadNull()
8737 ····{
8738 ········bool thrown = false;
8739 ········try
8740 ········{
8741 ············CreateObjects();
8742 ············QueryOwn();
8743 Assert. NotNull( ownVar, "No Query Result") ;
8744 Assert. NotNull( ownVar. RelField, "No related object") ;
8745 ············ownVar.RelField = null;
8746 ············pm.Save();
8747 ············pm.UnloadCache();
8748 ············QueryOwn();
8749 Assert. NotNull( ownVar, "No Query Result") ;
8750 Assert. Null( ownVar. RelField, "There should be no object") ;
8751 ········}
8752 ········catch (NDOException)
8753 ········{
8754 ············thrown = true;
8755 ········}
8756 Assert. AreEqual( true, thrown, "NDOException should have been thrown") ;
8757 ····}
8758 ····void CreateObjects()
8759 ····{
8760 ········pm.MakePersistent(ownVar);
8761 ········pm.Save();
8762 ········ownVar.AssignRelation(otherVar);
8763 ········pm.Save();
8764 ········pm.UnloadCache();
8765 ····}
8766 ····void QueryOwn()
8767 ····{
8768 ········var q = new NDOQuery<CmpDir1OwnpconOthpconNoTblAutoLeftBase>(pm);
8769 ········ownVar = q.ExecuteSingle();
8770 ····}
8771 ····void QueryOther()
8772 ····{
8773 ········var q = new NDOQuery<CmpDir1OwnpconOthpconNoTblAutoRightBase>(pm);
8774 ········otherVar = q.ExecuteSingle();
8775 ····}
8776 }
8777
8778
8779 [TestFixture]
8780 public class TestCmpDir1OwnpconOthpconTblAuto
8781 {
8782 ····CmpDir1OwnpconOthpconTblAutoLeftBase ownVar;
8783 ····CmpDir1OwnpconOthpconTblAutoRightBase otherVar;
8784 ····PersistenceManager pm;
8785 ····[SetUp]
8786 ····public void Setup()
8787 ····{
8788 ········pm = PmFactory.NewPersistenceManager();
8789 ········ownVar = new CmpDir1OwnpconOthpconTblAutoLeftDerived();
8790 ········otherVar = new CmpDir1OwnpconOthpconTblAutoRightDerived();
8791 ····}
8792 ····[TearDown]
8793 ····public void TearDown()
8794 ····{
8795 ········try
8796 ········{
8797 ············pm.UnloadCache();
8798 ············var l = pm.Objects<CmpDir1OwnpconOthpconTblAutoLeftBase>().ResultTable;
8799 ············pm.Delete(l);
8800 ············pm.Save();
8801 ············pm.UnloadCache();
8802 ············decimal count;
8803 ············count = (decimal) new NDOQuery<CmpDir1OwnpconOthpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8804 Assert. AreEqual( 0, count, "Count wrong #1") ;
8805 ············count = (decimal) new NDOQuery<CmpDir1OwnpconOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8806 Assert. AreEqual( 0, count, "Count wrong #2") ;
8807 ········}
8808 ········catch (Exception)
8809 ········{
8810 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
8811 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
8812 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
8813 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
8814 ········}
8815 ····}
8816 ····[Test]
8817 ····public void TestSaveReload()
8818 ····{
8819 ········CreateObjects();
8820 ········QueryOwn();
8821 Assert. NotNull( ownVar, "No Query Result") ;
8822 Assert. NotNull( ownVar. RelField, "No related object") ;
8823 ····}
8824 ····[Test]
8825 ····public void TestSaveReloadNull()
8826 ····{
8827 ········CreateObjects();
8828 ········QueryOwn();
8829 Assert. NotNull( ownVar, "No Query Result") ;
8830 Assert. NotNull( ownVar. RelField, "No related object") ;
8831 ········ownVar.RelField = null;
8832 ········pm.Save();
8833 ········pm.UnloadCache();
8834 ········QueryOwn();
8835 Assert. NotNull( ownVar, "No Query Result") ;
8836 Assert. Null( ownVar. RelField, "There should be no object") ;
8837 ····}
8838 ····[Test]
8839 ····public void TestChangeKeyHolderLeft()
8840 ····{
8841 ········CreateObjects();
8842 ········QueryOwn();
8843 Assert. NotNull( ownVar, "No Query Result") ;
8844 Assert. NotNull( ownVar. RelField, "No related object") ;
8845 ········int x = ownVar.RelField.Dummy;
8846 ········ownVar.Dummy = 4711;
8847 ········pm.Save();
8848 ········pm.UnloadCache();
8849 ········QueryOwn();
8850 Assert. NotNull( ownVar, "No Query Result") ;
8851 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
8852 Assert. NotNull( ownVar. RelField, "No related object") ;
8853 ····}
8854 ····[Test]
8855 ····public void TestChangeKeyHolderLeftNoTouch()
8856 ····{
8857 ········CreateObjects();
8858 ········QueryOwn();
8859 Assert. NotNull( ownVar, "No Query Result") ;
8860 Assert. NotNull( ownVar. RelField, "No related object") ;
8861 ········ownVar.Dummy = 4711;
8862 ········pm.Save();
8863 ········pm.UnloadCache();
8864 ········QueryOwn();
8865 Assert. NotNull( ownVar, "No Query Result") ;
8866 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
8867 Assert. NotNull( ownVar. RelField, "No related object") ;
8868 ····}
8869 ····void CreateObjects()
8870 ····{
8871 ········pm.MakePersistent(ownVar);
8872 ········ownVar.AssignRelation(otherVar);
8873 ········pm.Save();
8874 ········pm.UnloadCache();
8875 ····}
8876 ····void QueryOwn()
8877 ····{
8878 ········var q = new NDOQuery<CmpDir1OwnpconOthpconTblAutoLeftBase>(pm);
8879 ········ownVar = q.ExecuteSingle();
8880 ····}
8881 ····void QueryOther()
8882 ····{
8883 ········var q = new NDOQuery<CmpDir1OwnpconOthpconTblAutoRightBase>(pm);
8884 ········otherVar = q.ExecuteSingle();
8885 ····}
8886 }
8887
8888
8889 [TestFixture]
8890 public class TestCmpBi11OwnpconOthpconNoTblAuto
8891 {
8892 ····CmpBi11OwnpconOthpconNoTblAutoLeftBase ownVar;
8893 ····CmpBi11OwnpconOthpconNoTblAutoRightBase otherVar;
8894 ····PersistenceManager pm;
8895 ····[SetUp]
8896 ····public void Setup()
8897 ····{
8898 ········pm = PmFactory.NewPersistenceManager();
8899 ········ownVar = new CmpBi11OwnpconOthpconNoTblAutoLeftDerived();
8900 ········otherVar = new CmpBi11OwnpconOthpconNoTblAutoRightDerived();
8901 ····}
8902 ····[TearDown]
8903 ····public void TearDown()
8904 ····{
8905 ········try
8906 ········{
8907 ············pm.UnloadCache();
8908 ············var l = pm.Objects<CmpBi11OwnpconOthpconNoTblAutoLeftBase>().ResultTable;
8909 ············pm.Delete(l);
8910 ············pm.Save();
8911 ············pm.UnloadCache();
8912 ············decimal count;
8913 ············count = (decimal) new NDOQuery<CmpBi11OwnpconOthpconNoTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8914 Assert. AreEqual( 0, count, "Count wrong #1") ;
8915 ············count = (decimal) new NDOQuery<CmpBi11OwnpconOthpconNoTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
8916 Assert. AreEqual( 0, count, "Count wrong #2") ;
8917 ········}
8918 ········catch (Exception)
8919 ········{
8920 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
8921 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
8922 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
8923 ········}
8924 ····}
8925 ····[Test]
8926 ····public void TestSaveReload()
8927 ····{
8928 ········bool thrown = false;
8929 ········try
8930 ········{
8931 ············CreateObjects();
8932 ············QueryOwn();
8933 Assert. NotNull( ownVar, "No Query Result") ;
8934 Assert. NotNull( ownVar. RelField, "No related object") ;
8935 ········}
8936 ········catch (NDOException)
8937 ········{
8938 ············thrown = true;
8939 ········}
8940 Assert. AreEqual( true, thrown, "NDOException should have been thrown") ;
8941 ····}
8942 ····[Test]
8943 ····public void TestSaveReloadNull()
8944 ····{
8945 ········bool thrown = false;
8946 ········try
8947 ········{
8948 ············CreateObjects();
8949 ············QueryOwn();
8950 Assert. NotNull( ownVar, "No Query Result") ;
8951 Assert. NotNull( ownVar. RelField, "No related object") ;
8952 ············ownVar.RelField = null;
8953 ············pm.Save();
8954 ············pm.UnloadCache();
8955 ············QueryOwn();
8956 Assert. NotNull( ownVar, "No Query Result") ;
8957 Assert. Null( ownVar. RelField, "There should be no object") ;
8958 ········}
8959 ········catch (NDOException)
8960 ········{
8961 ············thrown = true;
8962 ········}
8963 Assert. AreEqual( true, thrown, "NDOException should have been thrown") ;
8964 ····}
8965 ····[Test]
8966 ····public void TestRelationHash()
8967 ····{
8968 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconOthpconNoTblAutoLeftBase));
8969 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
8970 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconOthpconNoTblAutoRightBase));
8971 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
8972 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
8973 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
8974 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconOthpconNoTblAutoLeftDerived));
8975 ········Relation relderLeft = clderLeft.FindRelation("relField");
8976 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
8977 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
8978 ········Class clderRight = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconOthpconNoTblAutoRightDerived));
8979 ········Relation relderRight = clderRight.FindRelation("relField");
8980 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
8981 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
8982 ········Assert.That(relderLeft.Equals(relderRight), "Relation should be equal #7");
8983 ········Assert.That(relderRight.Equals(relderLeft), "Relation should be equal #8");
8984 ····}
8985 ····void CreateObjects()
8986 ····{
8987 ········pm.MakePersistent(ownVar);
8988 ········pm.Save();
8989 ········ownVar.AssignRelation(otherVar);
8990 ········pm.Save();
8991 ········pm.UnloadCache();
8992 ····}
8993 ····void QueryOwn()
8994 ····{
8995 ········var q = new NDOQuery<CmpBi11OwnpconOthpconNoTblAutoLeftBase>(pm);
8996 ········ownVar = q.ExecuteSingle();
8997 ····}
8998 ····void QueryOther()
8999 ····{
9000 ········var q = new NDOQuery<CmpBi11OwnpconOthpconNoTblAutoRightBase>(pm);
9001 ········otherVar = q.ExecuteSingle();
9002 ····}
9003 }
9004
9005
9006 [TestFixture]
9007 public class TestCmpBi11OwnpconOthpconTblAuto
9008 {
9009 ····CmpBi11OwnpconOthpconTblAutoLeftBase ownVar;
9010 ····CmpBi11OwnpconOthpconTblAutoRightBase otherVar;
9011 ····PersistenceManager pm;
9012 ····[SetUp]
9013 ····public void Setup()
9014 ····{
9015 ········pm = PmFactory.NewPersistenceManager();
9016 ········ownVar = new CmpBi11OwnpconOthpconTblAutoLeftDerived();
9017 ········otherVar = new CmpBi11OwnpconOthpconTblAutoRightDerived();
9018 ····}
9019 ····[TearDown]
9020 ····public void TearDown()
9021 ····{
9022 ········try
9023 ········{
9024 ············pm.UnloadCache();
9025 ············var l = pm.Objects<CmpBi11OwnpconOthpconTblAutoLeftBase>().ResultTable;
9026 ············pm.Delete(l);
9027 ············pm.Save();
9028 ············pm.UnloadCache();
9029 ············decimal count;
9030 ············count = (decimal) new NDOQuery<CmpBi11OwnpconOthpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9031 Assert. AreEqual( 0, count, "Count wrong #1") ;
9032 ············count = (decimal) new NDOQuery<CmpBi11OwnpconOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9033 Assert. AreEqual( 0, count, "Count wrong #2") ;
9034 ········}
9035 ········catch (Exception)
9036 ········{
9037 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
9038 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
9039 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
9040 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
9041 ········}
9042 ····}
9043 ····[Test]
9044 ····public void TestSaveReload()
9045 ····{
9046 ········CreateObjects();
9047 ········QueryOwn();
9048 Assert. NotNull( ownVar, "No Query Result") ;
9049 Assert. NotNull( ownVar. RelField, "No related object") ;
9050 ····}
9051 ····[Test]
9052 ····public void TestSaveReloadNull()
9053 ····{
9054 ········CreateObjects();
9055 ········QueryOwn();
9056 Assert. NotNull( ownVar, "No Query Result") ;
9057 Assert. NotNull( ownVar. RelField, "No related object") ;
9058 ········ownVar.RelField = null;
9059 ········pm.Save();
9060 ········pm.UnloadCache();
9061 ········QueryOwn();
9062 Assert. NotNull( ownVar, "No Query Result") ;
9063 Assert. Null( ownVar. RelField, "There should be no object") ;
9064 ····}
9065 ····[Test]
9066 ····public void TestChangeKeyHolderLeft()
9067 ····{
9068 ········CreateObjects();
9069 ········QueryOwn();
9070 Assert. NotNull( ownVar, "No Query Result") ;
9071 Assert. NotNull( ownVar. RelField, "No related object") ;
9072 ········int x = ownVar.RelField.Dummy;
9073 ········ownVar.Dummy = 4711;
9074 ········pm.Save();
9075 ········pm.UnloadCache();
9076 ········QueryOwn();
9077 Assert. NotNull( ownVar, "No Query Result") ;
9078 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
9079 Assert. NotNull( ownVar. RelField, "No related object") ;
9080 ····}
9081 ····[Test]
9082 ····public void TestChangeKeyHolderRight()
9083 ····{
9084 ········CreateObjects();
9085 ········QueryOther();
9086 Assert. NotNull( otherVar, "No Query Result") ;
9087 Assert. NotNull( otherVar. RelField, "No related object") ;
9088 ········int x = otherVar.RelField.Dummy;
9089 ········otherVar.Dummy = 4711;
9090 ········pm.Save();
9091 ········pm.UnloadCache();
9092 ········QueryOther();
9093 Assert. NotNull( otherVar, "No Query Result") ;
9094 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
9095 Assert. NotNull( otherVar. RelField, "No related object") ;
9096 ····}
9097 ····[Test]
9098 ····public void TestChangeKeyHolderLeftNoTouch()
9099 ····{
9100 ········CreateObjects();
9101 ········QueryOwn();
9102 Assert. NotNull( ownVar, "No Query Result") ;
9103 Assert. NotNull( ownVar. RelField, "No related object") ;
9104 ········ownVar.Dummy = 4711;
9105 ········pm.Save();
9106 ········pm.UnloadCache();
9107 ········QueryOwn();
9108 Assert. NotNull( ownVar, "No Query Result") ;
9109 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
9110 Assert. NotNull( ownVar. RelField, "No related object") ;
9111 ····}
9112 ····[Test]
9113 ····public void TestChangeKeyHolderRightNoTouch()
9114 ····{
9115 ········CreateObjects();
9116 ········QueryOther();
9117 Assert. NotNull( otherVar, "No Query Result") ;
9118 Assert. NotNull( otherVar. RelField, "No related object") ;
9119 ········otherVar.Dummy = 4711;
9120 ········pm.Save();
9121 ········pm.UnloadCache();
9122 ········QueryOther();
9123 Assert. NotNull( otherVar, "No Query Result") ;
9124 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
9125 Assert. NotNull( otherVar. RelField, "No related object") ;
9126 ····}
9127 ····[Test]
9128 ····public void TestRelationHash()
9129 ····{
9130 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconOthpconTblAutoLeftBase));
9131 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
9132 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconOthpconTblAutoRightBase));
9133 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
9134 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
9135 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
9136 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconOthpconTblAutoLeftDerived));
9137 ········Relation relderLeft = clderLeft.FindRelation("relField");
9138 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
9139 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
9140 ········Class clderRight = pm.NDOMapping.FindClass(typeof(CmpBi11OwnpconOthpconTblAutoRightDerived));
9141 ········Relation relderRight = clderRight.FindRelation("relField");
9142 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
9143 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
9144 ········Assert.That(relderLeft.Equals(relderRight), "Relation should be equal #7");
9145 ········Assert.That(relderRight.Equals(relderLeft), "Relation should be equal #8");
9146 ····}
9147 ····void CreateObjects()
9148 ····{
9149 ········pm.MakePersistent(ownVar);
9150 ········ownVar.AssignRelation(otherVar);
9151 ········pm.Save();
9152 ········pm.UnloadCache();
9153 ····}
9154 ····void QueryOwn()
9155 ····{
9156 ········var q = new NDOQuery<CmpBi11OwnpconOthpconTblAutoLeftBase>(pm);
9157 ········ownVar = q.ExecuteSingle();
9158 ····}
9159 ····void QueryOther()
9160 ····{
9161 ········var q = new NDOQuery<CmpBi11OwnpconOthpconTblAutoRightBase>(pm);
9162 ········otherVar = q.ExecuteSingle();
9163 ····}
9164 }
9165
9166
9167 [TestFixture]
9168 public class TestCmpDirnOwnpconOthpconTblAuto
9169 {
9170 ····CmpDirnOwnpconOthpconTblAutoLeftBase ownVar;
9171 ····CmpDirnOwnpconOthpconTblAutoRightBase otherVar;
9172 ····PersistenceManager pm;
9173 ····[SetUp]
9174 ····public void Setup()
9175 ····{
9176 ········pm = PmFactory.NewPersistenceManager();
9177 ········ownVar = new CmpDirnOwnpconOthpconTblAutoLeftDerived();
9178 ········otherVar = new CmpDirnOwnpconOthpconTblAutoRightDerived();
9179 ····}
9180 ····[TearDown]
9181 ····public void TearDown()
9182 ····{
9183 ········try
9184 ········{
9185 ············pm.UnloadCache();
9186 ············var l = pm.Objects<CmpDirnOwnpconOthpconTblAutoLeftBase>().ResultTable;
9187 ············pm.Delete(l);
9188 ············pm.Save();
9189 ············pm.UnloadCache();
9190 ············decimal count;
9191 ············count = (decimal) new NDOQuery<CmpDirnOwnpconOthpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9192 Assert. AreEqual( 0, count, "Count wrong #1") ;
9193 ············count = (decimal) new NDOQuery<CmpDirnOwnpconOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9194 Assert. AreEqual( 0, count, "Count wrong #2") ;
9195 ········}
9196 ········catch (Exception)
9197 ········{
9198 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
9199 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
9200 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
9201 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
9202 ········}
9203 ····}
9204 ····[Test]
9205 ····public void TestSaveReload()
9206 ····{
9207 ········CreateObjects();
9208 ········QueryOwn();
9209 Assert. NotNull( ownVar, "No Query Result") ;
9210 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
9211 ····}
9212 ····[Test]
9213 ····public void TestSaveReloadNull()
9214 ····{
9215 ········CreateObjects();
9216 ········QueryOwn();
9217 Assert. NotNull( ownVar, "No Query Result") ;
9218 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
9219 ········ownVar.RelField = new List<CmpDirnOwnpconOthpconTblAutoRightBase>();
9220 ········pm.Save();
9221 ········pm.UnloadCache();
9222 ········QueryOwn();
9223 Assert. NotNull( ownVar, "No Query Result") ;
9224 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
9225 ····}
9226 ····[Test]
9227 ····public void TestSaveReloadRemove()
9228 ····{
9229 ········CreateObjects();
9230 ········QueryOwn();
9231 Assert. NotNull( ownVar, "No Query Result") ;
9232 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
9233 ········ownVar.RemoveRelatedObject();
9234 ········pm.Save();
9235 ········pm.UnloadCache();
9236 ········QueryOwn();
9237 Assert. NotNull( ownVar, "No Query Result") ;
9238 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
9239 ····}
9240 ····void CreateObjects()
9241 ····{
9242 ········pm.MakePersistent(ownVar);
9243 ········ownVar.AssignRelation(otherVar);
9244 ········pm.Save();
9245 ········pm.UnloadCache();
9246 ····}
9247 ····void QueryOwn()
9248 ····{
9249 ········var q = new NDOQuery<CmpDirnOwnpconOthpconTblAutoLeftBase>(pm);
9250 ········ownVar = q.ExecuteSingle();
9251 ····}
9252 ····void QueryOther()
9253 ····{
9254 ········var q = new NDOQuery<CmpDirnOwnpconOthpconTblAutoRightBase>(pm);
9255 ········otherVar = q.ExecuteSingle();
9256 ····}
9257 }
9258
9259
9260 [TestFixture]
9261 public class TestCmpBin1OwnpconOthpconTblAuto
9262 {
9263 ····CmpBin1OwnpconOthpconTblAutoLeftBase ownVar;
9264 ····CmpBin1OwnpconOthpconTblAutoRightBase otherVar;
9265 ····PersistenceManager pm;
9266 ····[SetUp]
9267 ····public void Setup()
9268 ····{
9269 ········pm = PmFactory.NewPersistenceManager();
9270 ········ownVar = new CmpBin1OwnpconOthpconTblAutoLeftDerived();
9271 ········otherVar = new CmpBin1OwnpconOthpconTblAutoRightDerived();
9272 ····}
9273 ····[TearDown]
9274 ····public void TearDown()
9275 ····{
9276 ········try
9277 ········{
9278 ············pm.UnloadCache();
9279 ············var l = pm.Objects<CmpBin1OwnpconOthpconTblAutoLeftBase>().ResultTable;
9280 ············pm.Delete(l);
9281 ············pm.Save();
9282 ············pm.UnloadCache();
9283 ············decimal count;
9284 ············count = (decimal) new NDOQuery<CmpBin1OwnpconOthpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9285 Assert. AreEqual( 0, count, "Count wrong #1") ;
9286 ············count = (decimal) new NDOQuery<CmpBin1OwnpconOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9287 Assert. AreEqual( 0, count, "Count wrong #2") ;
9288 ········}
9289 ········catch (Exception)
9290 ········{
9291 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
9292 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
9293 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
9294 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
9295 ········}
9296 ····}
9297 ····[Test]
9298 ····public void TestSaveReload()
9299 ····{
9300 ········CreateObjects();
9301 ········QueryOwn();
9302 Assert. NotNull( ownVar, "No Query Result") ;
9303 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
9304 ····}
9305 ····[Test]
9306 ····public void TestSaveReloadNull()
9307 ····{
9308 ········CreateObjects();
9309 ········QueryOwn();
9310 Assert. NotNull( ownVar, "No Query Result") ;
9311 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
9312 ········ownVar.RelField = new List<CmpBin1OwnpconOthpconTblAutoRightBase>();
9313 ········pm.Save();
9314 ········pm.UnloadCache();
9315 ········QueryOwn();
9316 Assert. NotNull( ownVar, "No Query Result") ;
9317 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
9318 ····}
9319 ····[Test]
9320 ····public void TestSaveReloadRemove()
9321 ····{
9322 ········CreateObjects();
9323 ········QueryOwn();
9324 Assert. NotNull( ownVar, "No Query Result") ;
9325 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
9326 ········ownVar.RemoveRelatedObject();
9327 ········pm.Save();
9328 ········pm.UnloadCache();
9329 ········QueryOwn();
9330 Assert. NotNull( ownVar, "No Query Result") ;
9331 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
9332 ····}
9333 ····[Test]
9334 ····public void TestChangeKeyHolderRight()
9335 ····{
9336 ········CreateObjects();
9337 ········QueryOther();
9338 Assert. NotNull( otherVar, "No Query Result") ;
9339 Assert. NotNull( otherVar. RelField, "No related object") ;
9340 ········int x = otherVar.RelField.Dummy;
9341 ········otherVar.Dummy = 4711;
9342 ········pm.Save();
9343 ········pm.UnloadCache();
9344 ········QueryOther();
9345 Assert. NotNull( otherVar, "No Query Result") ;
9346 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
9347 Assert. NotNull( otherVar. RelField, "No related object") ;
9348 ····}
9349 ····[Test]
9350 ····public void TestChangeKeyHolderRightNoTouch()
9351 ····{
9352 ········CreateObjects();
9353 ········QueryOther();
9354 Assert. NotNull( otherVar, "No Query Result") ;
9355 Assert. NotNull( otherVar. RelField, "No related object") ;
9356 ········otherVar.Dummy = 4711;
9357 ········pm.Save();
9358 ········pm.UnloadCache();
9359 ········QueryOther();
9360 Assert. NotNull( otherVar, "No Query Result") ;
9361 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
9362 Assert. NotNull( otherVar. RelField, "No related object") ;
9363 ····}
9364 ····[Test]
9365 ····public void TestRelationHash()
9366 ····{
9367 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBin1OwnpconOthpconTblAutoLeftBase));
9368 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
9369 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBin1OwnpconOthpconTblAutoRightBase));
9370 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
9371 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
9372 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
9373 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(CmpBin1OwnpconOthpconTblAutoLeftDerived));
9374 ········Relation relderLeft = clderLeft.FindRelation("relField");
9375 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
9376 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
9377 ········Class clderRight = pm.NDOMapping.FindClass(typeof(CmpBin1OwnpconOthpconTblAutoRightDerived));
9378 ········Relation relderRight = clderRight.FindRelation("relField");
9379 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
9380 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
9381 ········Assert.That(relderLeft.Equals(relderRight), "Relation should be equal #7");
9382 ········Assert.That(relderRight.Equals(relderLeft), "Relation should be equal #8");
9383 ····}
9384 ····void CreateObjects()
9385 ····{
9386 ········pm.MakePersistent(ownVar);
9387 ········ownVar.AssignRelation(otherVar);
9388 ········pm.Save();
9389 ········pm.UnloadCache();
9390 ····}
9391 ····void QueryOwn()
9392 ····{
9393 ········var q = new NDOQuery<CmpBin1OwnpconOthpconTblAutoLeftBase>(pm);
9394 ········ownVar = q.ExecuteSingle();
9395 ····}
9396 ····void QueryOther()
9397 ····{
9398 ········var q = new NDOQuery<CmpBin1OwnpconOthpconTblAutoRightBase>(pm);
9399 ········otherVar = q.ExecuteSingle();
9400 ····}
9401 }
9402
9403
9404 [TestFixture]
9405 public class TestCmpBi1nOwnpconOthpconTblAuto
9406 {
9407 ····CmpBi1nOwnpconOthpconTblAutoLeftBase ownVar;
9408 ····CmpBi1nOwnpconOthpconTblAutoRightBase otherVar;
9409 ····PersistenceManager pm;
9410 ····[SetUp]
9411 ····public void Setup()
9412 ····{
9413 ········pm = PmFactory.NewPersistenceManager();
9414 ········ownVar = new CmpBi1nOwnpconOthpconTblAutoLeftDerived();
9415 ········otherVar = new CmpBi1nOwnpconOthpconTblAutoRightDerived();
9416 ····}
9417 ····[TearDown]
9418 ····public void TearDown()
9419 ····{
9420 ········try
9421 ········{
9422 ············pm.UnloadCache();
9423 ············var l = pm.Objects<CmpBi1nOwnpconOthpconTblAutoLeftBase>().ResultTable;
9424 ············pm.Delete(l);
9425 ············pm.Save();
9426 ············pm.UnloadCache();
9427 ············decimal count;
9428 ············count = (decimal) new NDOQuery<CmpBi1nOwnpconOthpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9429 Assert. AreEqual( 0, count, "Count wrong #1") ;
9430 ············count = (decimal) new NDOQuery<CmpBi1nOwnpconOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9431 Assert. AreEqual( 0, count, "Count wrong #2") ;
9432 ········}
9433 ········catch (Exception)
9434 ········{
9435 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
9436 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
9437 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
9438 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
9439 ········}
9440 ····}
9441 ····[Test]
9442 ····public void TestSaveReload()
9443 ····{
9444 ········CreateObjects();
9445 ········QueryOwn();
9446 Assert. NotNull( ownVar, "No Query Result") ;
9447 Assert. NotNull( ownVar. RelField, "No related object") ;
9448 ····}
9449 ····[Test]
9450 ····public void TestSaveReloadNull()
9451 ····{
9452 ········CreateObjects();
9453 ········QueryOwn();
9454 Assert. NotNull( ownVar, "No Query Result") ;
9455 Assert. NotNull( ownVar. RelField, "No related object") ;
9456 ········ownVar.RelField = null;
9457 ········pm.Save();
9458 ········pm.UnloadCache();
9459 ········QueryOwn();
9460 Assert. NotNull( ownVar, "No Query Result") ;
9461 Assert. Null( ownVar. RelField, "There should be no object") ;
9462 ····}
9463 ····[Test]
9464 ····public void TestChangeKeyHolderLeft()
9465 ····{
9466 ········CreateObjects();
9467 ········QueryOwn();
9468 Assert. NotNull( ownVar, "No Query Result") ;
9469 Assert. NotNull( ownVar. RelField, "No related object") ;
9470 ········int x = ownVar.RelField.Dummy;
9471 ········ownVar.Dummy = 4711;
9472 ········pm.Save();
9473 ········pm.UnloadCache();
9474 ········QueryOwn();
9475 Assert. NotNull( ownVar, "No Query Result") ;
9476 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
9477 Assert. NotNull( ownVar. RelField, "No related object") ;
9478 ····}
9479 ····[Test]
9480 ····public void TestChangeKeyHolderLeftNoTouch()
9481 ····{
9482 ········CreateObjects();
9483 ········QueryOwn();
9484 Assert. NotNull( ownVar, "No Query Result") ;
9485 Assert. NotNull( ownVar. RelField, "No related object") ;
9486 ········ownVar.Dummy = 4711;
9487 ········pm.Save();
9488 ········pm.UnloadCache();
9489 ········QueryOwn();
9490 Assert. NotNull( ownVar, "No Query Result") ;
9491 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
9492 Assert. NotNull( ownVar. RelField, "No related object") ;
9493 ····}
9494 ····[Test]
9495 ····public void TestRelationHash()
9496 ····{
9497 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi1nOwnpconOthpconTblAutoLeftBase));
9498 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
9499 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi1nOwnpconOthpconTblAutoRightBase));
9500 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
9501 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
9502 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
9503 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(CmpBi1nOwnpconOthpconTblAutoLeftDerived));
9504 ········Relation relderLeft = clderLeft.FindRelation("relField");
9505 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
9506 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
9507 ········Class clderRight = pm.NDOMapping.FindClass(typeof(CmpBi1nOwnpconOthpconTblAutoRightDerived));
9508 ········Relation relderRight = clderRight.FindRelation("relField");
9509 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
9510 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
9511 ········Assert.That(relderLeft.Equals(relderRight), "Relation should be equal #7");
9512 ········Assert.That(relderRight.Equals(relderLeft), "Relation should be equal #8");
9513 ····}
9514 ····void CreateObjects()
9515 ····{
9516 ········pm.MakePersistent(ownVar);
9517 ········ownVar.AssignRelation(otherVar);
9518 ········pm.Save();
9519 ········pm.UnloadCache();
9520 ····}
9521 ····void QueryOwn()
9522 ····{
9523 ········var q = new NDOQuery<CmpBi1nOwnpconOthpconTblAutoLeftBase>(pm);
9524 ········ownVar = q.ExecuteSingle();
9525 ····}
9526 ····void QueryOther()
9527 ····{
9528 ········var q = new NDOQuery<CmpBi1nOwnpconOthpconTblAutoRightBase>(pm);
9529 ········otherVar = q.ExecuteSingle();
9530 ····}
9531 }
9532
9533
9534 [TestFixture]
9535 public class TestCmpBinnOwnpconOthpconTblAuto
9536 {
9537 ····CmpBinnOwnpconOthpconTblAutoLeftBase ownVar;
9538 ····CmpBinnOwnpconOthpconTblAutoRightBase otherVar;
9539 ····PersistenceManager pm;
9540 ····[SetUp]
9541 ····public void Setup()
9542 ····{
9543 ········pm = PmFactory.NewPersistenceManager();
9544 ········ownVar = new CmpBinnOwnpconOthpconTblAutoLeftDerived();
9545 ········otherVar = new CmpBinnOwnpconOthpconTblAutoRightDerived();
9546 ····}
9547 ····[TearDown]
9548 ····public void TearDown()
9549 ····{
9550 ········try
9551 ········{
9552 ············pm.UnloadCache();
9553 ············var l = pm.Objects<CmpBinnOwnpconOthpconTblAutoLeftBase>().ResultTable;
9554 ············pm.Delete(l);
9555 ············pm.Save();
9556 ············pm.UnloadCache();
9557 ············decimal count;
9558 ············count = (decimal) new NDOQuery<CmpBinnOwnpconOthpconTblAutoLeftBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9559 Assert. AreEqual( 0, count, "Count wrong #1") ;
9560 ············count = (decimal) new NDOQuery<CmpBinnOwnpconOthpconTblAutoRightBase>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9561 Assert. AreEqual( 0, count, "Count wrong #2") ;
9562 ········}
9563 ········catch (Exception)
9564 ········{
9565 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
9566 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
9567 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
9568 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
9569 ········}
9570 ····}
9571 ····[Test]
9572 ····public void TestSaveReload()
9573 ····{
9574 ········CreateObjects();
9575 ········QueryOwn();
9576 Assert. NotNull( ownVar, "No Query Result") ;
9577 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
9578 ····}
9579 ····[Test]
9580 ····public void TestSaveReloadNull()
9581 ····{
9582 ········CreateObjects();
9583 ········QueryOwn();
9584 Assert. NotNull( ownVar, "No Query Result") ;
9585 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
9586 ········ownVar.RelField = new List<CmpBinnOwnpconOthpconTblAutoRightBase>();
9587 ········pm.Save();
9588 ········pm.UnloadCache();
9589 ········QueryOwn();
9590 Assert. NotNull( ownVar, "No Query Result") ;
9591 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
9592 ····}
9593 ····[Test]
9594 ····public void TestSaveReloadRemove()
9595 ····{
9596 ········CreateObjects();
9597 ········QueryOwn();
9598 Assert. NotNull( ownVar, "No Query Result") ;
9599 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
9600 ········ownVar.RemoveRelatedObject();
9601 ········pm.Save();
9602 ········pm.UnloadCache();
9603 ········QueryOwn();
9604 Assert. NotNull( ownVar, "No Query Result") ;
9605 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
9606 ····}
9607 ····[Test]
9608 ····public void TestRelationHash()
9609 ····{
9610 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBinnOwnpconOthpconTblAutoLeftBase));
9611 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
9612 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBinnOwnpconOthpconTblAutoRightBase));
9613 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
9614 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
9615 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
9616 ········Class clderLeft = pm.NDOMapping.FindClass(typeof(CmpBinnOwnpconOthpconTblAutoLeftDerived));
9617 ········Relation relderLeft = clderLeft.FindRelation("relField");
9618 ········Assert.That(relderLeft.Equals(relbaseRight), "Relation should be equal #3");
9619 ········Assert.That(relbaseRight.Equals(relderLeft), "Relation should be equal #4");
9620 ········Class clderRight = pm.NDOMapping.FindClass(typeof(CmpBinnOwnpconOthpconTblAutoRightDerived));
9621 ········Relation relderRight = clderRight.FindRelation("relField");
9622 ········Assert.That(relbaseLeft.Equals(relderRight), "Relation should be equal #5");
9623 ········Assert.That(relderRight.Equals(relbaseLeft), "Relation should be equal #6");
9624 ········Assert.That(relderLeft.Equals(relderRight), "Relation should be equal #7");
9625 ········Assert.That(relderRight.Equals(relderLeft), "Relation should be equal #8");
9626 ····}
9627 ····void CreateObjects()
9628 ····{
9629 ········pm.MakePersistent(ownVar);
9630 ········ownVar.AssignRelation(otherVar);
9631 ········pm.Save();
9632 ········pm.UnloadCache();
9633 ····}
9634 ····void QueryOwn()
9635 ····{
9636 ········var q = new NDOQuery<CmpBinnOwnpconOthpconTblAutoLeftBase>(pm);
9637 ········ownVar = q.ExecuteSingle();
9638 ····}
9639 ····void QueryOther()
9640 ····{
9641 ········var q = new NDOQuery<CmpBinnOwnpconOthpconTblAutoRightBase>(pm);
9642 ········otherVar = q.ExecuteSingle();
9643 ····}
9644 }
9645
9646
9647 [TestFixture]
9648 public class TestAgrDir1NoTblGuid
9649 {
9650 ····AgrDir1NoTblGuidLeft ownVar;
9651 ····AgrDir1NoTblGuidRight otherVar;
9652 ····PersistenceManager pm;
9653 ····[SetUp]
9654 ····public void Setup()
9655 ····{
9656 ········pm = PmFactory.NewPersistenceManager();
9657 ········ownVar = new AgrDir1NoTblGuidLeft();
9658 ········otherVar = new AgrDir1NoTblGuidRight();
9659 ····}
9660 ····[TearDown]
9661 ····public void TearDown()
9662 ····{
9663 ········try
9664 ········{
9665 ············pm.UnloadCache();
9666 ············var l = pm.Objects<AgrDir1NoTblGuidLeft>().ResultTable;
9667 ············pm.Delete(l);
9668 ············pm.Save();
9669 ············pm.UnloadCache();
9670 ············var m = pm.Objects<AgrDir1NoTblGuidRight>().ResultTable;
9671 ············pm.Delete(m);
9672 ············pm.Save();
9673 ············pm.UnloadCache();
9674 ············decimal count;
9675 ············count = (decimal) new NDOQuery<AgrDir1NoTblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9676 Assert. AreEqual( 0, count, "Count wrong #1") ;
9677 ············count = (decimal) new NDOQuery<AgrDir1NoTblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9678 Assert. AreEqual( 0, count, "Count wrong #2") ;
9679 ········}
9680 ········catch (Exception)
9681 ········{
9682 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
9683 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
9684 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
9685 ········}
9686 ····}
9687 ····[Test]
9688 ····public void TestSaveReload()
9689 ····{
9690 ········CreateObjects();
9691 ········QueryOwn();
9692 Assert. NotNull( ownVar, "No Query Result") ;
9693 Assert. NotNull( ownVar. RelField, "No related object") ;
9694 ····}
9695 ····[Test]
9696 ····public void TestSaveReloadNull()
9697 ····{
9698 ········CreateObjects();
9699 ········QueryOwn();
9700 Assert. NotNull( ownVar, "No Query Result") ;
9701 Assert. NotNull( ownVar. RelField, "No related object") ;
9702 ········ownVar.RelField = null;
9703 ········pm.Save();
9704 ········pm.UnloadCache();
9705 ········QueryOwn();
9706 Assert. NotNull( ownVar, "No Query Result") ;
9707 Assert. Null( ownVar. RelField, "There should be no object") ;
9708 ····}
9709 ····[Test]
9710 ····public void TestChangeKeyHolderLeft()
9711 ····{
9712 ········CreateObjects();
9713 ········QueryOwn();
9714 Assert. NotNull( ownVar, "No Query Result") ;
9715 Assert. NotNull( ownVar. RelField, "No related object") ;
9716 ········int x = ownVar.RelField.Dummy;
9717 ········ownVar.Dummy = 4711;
9718 ········pm.Save();
9719 ········pm.UnloadCache();
9720 ········QueryOwn();
9721 Assert. NotNull( ownVar, "No Query Result") ;
9722 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
9723 Assert. NotNull( ownVar. RelField, "No related object") ;
9724 ····}
9725 ····[Test]
9726 ····public void TestChangeKeyHolderLeftNoTouch()
9727 ····{
9728 ········CreateObjects();
9729 ········QueryOwn();
9730 Assert. NotNull( ownVar, "No Query Result") ;
9731 Assert. NotNull( ownVar. RelField, "No related object") ;
9732 ········ownVar.Dummy = 4711;
9733 ········pm.Save();
9734 ········pm.UnloadCache();
9735 ········QueryOwn();
9736 Assert. NotNull( ownVar, "No Query Result") ;
9737 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
9738 Assert. NotNull( ownVar. RelField, "No related object") ;
9739 ····}
9740 ····void CreateObjects()
9741 ····{
9742 ········pm.MakePersistent(ownVar);
9743 ········pm.MakePersistent(otherVar);
9744 ········ownVar.AssignRelation(otherVar);
9745 ········pm.Save();
9746 ········pm.UnloadCache();
9747 ····}
9748 ····void QueryOwn()
9749 ····{
9750 ········var q = new NDOQuery<AgrDir1NoTblGuidLeft>(pm);
9751 ········ownVar = q.ExecuteSingle();
9752 ····}
9753 ····void QueryOther()
9754 ····{
9755 ········var q = new NDOQuery<AgrDir1NoTblGuidRight>(pm);
9756 ········otherVar = q.ExecuteSingle();
9757 ····}
9758 }
9759
9760
9761 [TestFixture]
9762 public class TestAgrDir1TblGuid
9763 {
9764 ····AgrDir1TblGuidLeft ownVar;
9765 ····AgrDir1TblGuidRight otherVar;
9766 ····PersistenceManager pm;
9767 ····[SetUp]
9768 ····public void Setup()
9769 ····{
9770 ········pm = PmFactory.NewPersistenceManager();
9771 ········ownVar = new AgrDir1TblGuidLeft();
9772 ········otherVar = new AgrDir1TblGuidRight();
9773 ····}
9774 ····[TearDown]
9775 ····public void TearDown()
9776 ····{
9777 ········try
9778 ········{
9779 ············pm.UnloadCache();
9780 ············var l = pm.Objects<AgrDir1TblGuidLeft>().ResultTable;
9781 ············pm.Delete(l);
9782 ············pm.Save();
9783 ············pm.UnloadCache();
9784 ············var m = pm.Objects<AgrDir1TblGuidRight>().ResultTable;
9785 ············pm.Delete(m);
9786 ············pm.Save();
9787 ············pm.UnloadCache();
9788 ············decimal count;
9789 ············count = (decimal) new NDOQuery<AgrDir1TblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9790 Assert. AreEqual( 0, count, "Count wrong #1") ;
9791 ············count = (decimal) new NDOQuery<AgrDir1TblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9792 Assert. AreEqual( 0, count, "Count wrong #2") ;
9793 ········}
9794 ········catch (Exception)
9795 ········{
9796 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
9797 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
9798 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
9799 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
9800 ········}
9801 ····}
9802 ····[Test]
9803 ····public void TestSaveReload()
9804 ····{
9805 ········CreateObjects();
9806 ········QueryOwn();
9807 Assert. NotNull( ownVar, "No Query Result") ;
9808 Assert. NotNull( ownVar. RelField, "No related object") ;
9809 ····}
9810 ····[Test]
9811 ····public void TestSaveReloadNull()
9812 ····{
9813 ········CreateObjects();
9814 ········QueryOwn();
9815 Assert. NotNull( ownVar, "No Query Result") ;
9816 Assert. NotNull( ownVar. RelField, "No related object") ;
9817 ········ownVar.RelField = null;
9818 ········pm.Save();
9819 ········pm.UnloadCache();
9820 ········QueryOwn();
9821 Assert. NotNull( ownVar, "No Query Result") ;
9822 Assert. Null( ownVar. RelField, "There should be no object") ;
9823 ····}
9824 ····[Test]
9825 ····public void TestChangeKeyHolderLeft()
9826 ····{
9827 ········CreateObjects();
9828 ········QueryOwn();
9829 Assert. NotNull( ownVar, "No Query Result") ;
9830 Assert. NotNull( ownVar. RelField, "No related object") ;
9831 ········int x = ownVar.RelField.Dummy;
9832 ········ownVar.Dummy = 4711;
9833 ········pm.Save();
9834 ········pm.UnloadCache();
9835 ········QueryOwn();
9836 Assert. NotNull( ownVar, "No Query Result") ;
9837 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
9838 Assert. NotNull( ownVar. RelField, "No related object") ;
9839 ····}
9840 ····[Test]
9841 ····public void TestChangeKeyHolderLeftNoTouch()
9842 ····{
9843 ········CreateObjects();
9844 ········QueryOwn();
9845 Assert. NotNull( ownVar, "No Query Result") ;
9846 Assert. NotNull( ownVar. RelField, "No related object") ;
9847 ········ownVar.Dummy = 4711;
9848 ········pm.Save();
9849 ········pm.UnloadCache();
9850 ········QueryOwn();
9851 Assert. NotNull( ownVar, "No Query Result") ;
9852 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
9853 Assert. NotNull( ownVar. RelField, "No related object") ;
9854 ····}
9855 ····void CreateObjects()
9856 ····{
9857 ········pm.MakePersistent(ownVar);
9858 ········pm.MakePersistent(otherVar);
9859 ········ownVar.AssignRelation(otherVar);
9860 ········pm.Save();
9861 ········pm.UnloadCache();
9862 ····}
9863 ····void QueryOwn()
9864 ····{
9865 ········var q = new NDOQuery<AgrDir1TblGuidLeft>(pm);
9866 ········ownVar = q.ExecuteSingle();
9867 ····}
9868 ····void QueryOther()
9869 ····{
9870 ········var q = new NDOQuery<AgrDir1TblGuidRight>(pm);
9871 ········otherVar = q.ExecuteSingle();
9872 ····}
9873 }
9874
9875
9876 [TestFixture]
9877 public class TestAgrBi11NoTblGuid
9878 {
9879 ····AgrBi11NoTblGuidLeft ownVar;
9880 ····AgrBi11NoTblGuidRight otherVar;
9881 ····PersistenceManager pm;
9882 ····[SetUp]
9883 ····public void Setup()
9884 ····{
9885 ········pm = PmFactory.NewPersistenceManager();
9886 ········ownVar = new AgrBi11NoTblGuidLeft();
9887 ········otherVar = new AgrBi11NoTblGuidRight();
9888 ····}
9889 ····[TearDown]
9890 ····public void TearDown()
9891 ····{
9892 ········try
9893 ········{
9894 ············pm.UnloadCache();
9895 ············var l = pm.Objects<AgrBi11NoTblGuidLeft>().ResultTable;
9896 ············pm.Delete(l);
9897 ············pm.Save();
9898 ············pm.UnloadCache();
9899 ············var m = pm.Objects<AgrBi11NoTblGuidRight>().ResultTable;
9900 ············pm.Delete(m);
9901 ············pm.Save();
9902 ············pm.UnloadCache();
9903 ············decimal count;
9904 ············count = (decimal) new NDOQuery<AgrBi11NoTblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9905 Assert. AreEqual( 0, count, "Count wrong #1") ;
9906 ············count = (decimal) new NDOQuery<AgrBi11NoTblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
9907 Assert. AreEqual( 0, count, "Count wrong #2") ;
9908 ········}
9909 ········catch (Exception)
9910 ········{
9911 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
9912 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
9913 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
9914 ········}
9915 ····}
9916 ····[Test]
9917 ····public void TestSaveReload()
9918 ····{
9919 ········CreateObjects();
9920 ········QueryOwn();
9921 Assert. NotNull( ownVar, "No Query Result") ;
9922 Assert. NotNull( ownVar. RelField, "No related object") ;
9923 ····}
9924 ····[Test]
9925 ····public void TestSaveReloadNull()
9926 ····{
9927 ········CreateObjects();
9928 ········QueryOwn();
9929 Assert. NotNull( ownVar, "No Query Result") ;
9930 Assert. NotNull( ownVar. RelField, "No related object") ;
9931 ········ownVar.RelField = null;
9932 ········pm.Save();
9933 ········pm.UnloadCache();
9934 ········QueryOwn();
9935 Assert. NotNull( ownVar, "No Query Result") ;
9936 Assert. Null( ownVar. RelField, "There should be no object") ;
9937 ····}
9938 ····[Test]
9939 ····public void TestChangeKeyHolderLeft()
9940 ····{
9941 ········CreateObjects();
9942 ········QueryOwn();
9943 Assert. NotNull( ownVar, "No Query Result") ;
9944 Assert. NotNull( ownVar. RelField, "No related object") ;
9945 ········int x = ownVar.RelField.Dummy;
9946 ········ownVar.Dummy = 4711;
9947 ········pm.Save();
9948 ········pm.UnloadCache();
9949 ········QueryOwn();
9950 Assert. NotNull( ownVar, "No Query Result") ;
9951 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
9952 Assert. NotNull( ownVar. RelField, "No related object") ;
9953 ····}
9954 ····[Test]
9955 ····public void TestChangeKeyHolderRight()
9956 ····{
9957 ········CreateObjects();
9958 ········QueryOther();
9959 Assert. NotNull( otherVar, "No Query Result") ;
9960 Assert. NotNull( otherVar. RelField, "No related object") ;
9961 ········int x = otherVar.RelField.Dummy;
9962 ········otherVar.Dummy = 4711;
9963 ········pm.Save();
9964 ········pm.UnloadCache();
9965 ········QueryOther();
9966 Assert. NotNull( otherVar, "No Query Result") ;
9967 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
9968 Assert. NotNull( otherVar. RelField, "No related object") ;
9969 ····}
9970 ····[Test]
9971 ····public void TestChangeKeyHolderLeftNoTouch()
9972 ····{
9973 ········CreateObjects();
9974 ········QueryOwn();
9975 Assert. NotNull( ownVar, "No Query Result") ;
9976 Assert. NotNull( ownVar. RelField, "No related object") ;
9977 ········ownVar.Dummy = 4711;
9978 ········pm.Save();
9979 ········pm.UnloadCache();
9980 ········QueryOwn();
9981 Assert. NotNull( ownVar, "No Query Result") ;
9982 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
9983 Assert. NotNull( ownVar. RelField, "No related object") ;
9984 ····}
9985 ····[Test]
9986 ····public void TestChangeKeyHolderRightNoTouch()
9987 ····{
9988 ········CreateObjects();
9989 ········QueryOther();
9990 Assert. NotNull( otherVar, "No Query Result") ;
9991 Assert. NotNull( otherVar. RelField, "No related object") ;
9992 ········otherVar.Dummy = 4711;
9993 ········pm.Save();
9994 ········pm.UnloadCache();
9995 ········QueryOther();
9996 Assert. NotNull( otherVar, "No Query Result") ;
9997 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
9998 Assert. NotNull( otherVar. RelField, "No related object") ;
9999 ····}
10000 ····[Test]
10001 ····public void TestRelationHash()
10002 ····{
10003 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi11NoTblGuidLeft));
10004 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
10005 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi11NoTblGuidRight));
10006 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
10007 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
10008 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
10009 ····}
10010 ····void CreateObjects()
10011 ····{
10012 ········pm.MakePersistent(ownVar);
10013 ········pm.MakePersistent(otherVar);
10014 ········ownVar.AssignRelation(otherVar);
10015 ········pm.Save();
10016 ········pm.UnloadCache();
10017 ····}
10018 ····void QueryOwn()
10019 ····{
10020 ········var q = new NDOQuery<AgrBi11NoTblGuidLeft>(pm);
10021 ········ownVar = q.ExecuteSingle();
10022 ····}
10023 ····void QueryOther()
10024 ····{
10025 ········var q = new NDOQuery<AgrBi11NoTblGuidRight>(pm);
10026 ········otherVar = q.ExecuteSingle();
10027 ····}
10028 }
10029
10030
10031 [TestFixture]
10032 public class TestAgrBi11TblGuid
10033 {
10034 ····AgrBi11TblGuidLeft ownVar;
10035 ····AgrBi11TblGuidRight otherVar;
10036 ····PersistenceManager pm;
10037 ····[SetUp]
10038 ····public void Setup()
10039 ····{
10040 ········pm = PmFactory.NewPersistenceManager();
10041 ········ownVar = new AgrBi11TblGuidLeft();
10042 ········otherVar = new AgrBi11TblGuidRight();
10043 ····}
10044 ····[TearDown]
10045 ····public void TearDown()
10046 ····{
10047 ········try
10048 ········{
10049 ············pm.UnloadCache();
10050 ············var l = pm.Objects<AgrBi11TblGuidLeft>().ResultTable;
10051 ············pm.Delete(l);
10052 ············pm.Save();
10053 ············pm.UnloadCache();
10054 ············var m = pm.Objects<AgrBi11TblGuidRight>().ResultTable;
10055 ············pm.Delete(m);
10056 ············pm.Save();
10057 ············pm.UnloadCache();
10058 ············decimal count;
10059 ············count = (decimal) new NDOQuery<AgrBi11TblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10060 Assert. AreEqual( 0, count, "Count wrong #1") ;
10061 ············count = (decimal) new NDOQuery<AgrBi11TblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10062 Assert. AreEqual( 0, count, "Count wrong #2") ;
10063 ········}
10064 ········catch (Exception)
10065 ········{
10066 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
10067 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
10068 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
10069 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
10070 ········}
10071 ····}
10072 ····[Test]
10073 ····public void TestSaveReload()
10074 ····{
10075 ········CreateObjects();
10076 ········QueryOwn();
10077 Assert. NotNull( ownVar, "No Query Result") ;
10078 Assert. NotNull( ownVar. RelField, "No related object") ;
10079 ····}
10080 ····[Test]
10081 ····public void TestSaveReloadNull()
10082 ····{
10083 ········CreateObjects();
10084 ········QueryOwn();
10085 Assert. NotNull( ownVar, "No Query Result") ;
10086 Assert. NotNull( ownVar. RelField, "No related object") ;
10087 ········ownVar.RelField = null;
10088 ········pm.Save();
10089 ········pm.UnloadCache();
10090 ········QueryOwn();
10091 Assert. NotNull( ownVar, "No Query Result") ;
10092 Assert. Null( ownVar. RelField, "There should be no object") ;
10093 ····}
10094 ····[Test]
10095 ····public void TestChangeKeyHolderLeft()
10096 ····{
10097 ········CreateObjects();
10098 ········QueryOwn();
10099 Assert. NotNull( ownVar, "No Query Result") ;
10100 Assert. NotNull( ownVar. RelField, "No related object") ;
10101 ········int x = ownVar.RelField.Dummy;
10102 ········ownVar.Dummy = 4711;
10103 ········pm.Save();
10104 ········pm.UnloadCache();
10105 ········QueryOwn();
10106 Assert. NotNull( ownVar, "No Query Result") ;
10107 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
10108 Assert. NotNull( ownVar. RelField, "No related object") ;
10109 ····}
10110 ····[Test]
10111 ····public void TestChangeKeyHolderRight()
10112 ····{
10113 ········CreateObjects();
10114 ········QueryOther();
10115 Assert. NotNull( otherVar, "No Query Result") ;
10116 Assert. NotNull( otherVar. RelField, "No related object") ;
10117 ········int x = otherVar.RelField.Dummy;
10118 ········otherVar.Dummy = 4711;
10119 ········pm.Save();
10120 ········pm.UnloadCache();
10121 ········QueryOther();
10122 Assert. NotNull( otherVar, "No Query Result") ;
10123 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
10124 Assert. NotNull( otherVar. RelField, "No related object") ;
10125 ····}
10126 ····[Test]
10127 ····public void TestChangeKeyHolderLeftNoTouch()
10128 ····{
10129 ········CreateObjects();
10130 ········QueryOwn();
10131 Assert. NotNull( ownVar, "No Query Result") ;
10132 Assert. NotNull( ownVar. RelField, "No related object") ;
10133 ········ownVar.Dummy = 4711;
10134 ········pm.Save();
10135 ········pm.UnloadCache();
10136 ········QueryOwn();
10137 Assert. NotNull( ownVar, "No Query Result") ;
10138 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
10139 Assert. NotNull( ownVar. RelField, "No related object") ;
10140 ····}
10141 ····[Test]
10142 ····public void TestChangeKeyHolderRightNoTouch()
10143 ····{
10144 ········CreateObjects();
10145 ········QueryOther();
10146 Assert. NotNull( otherVar, "No Query Result") ;
10147 Assert. NotNull( otherVar. RelField, "No related object") ;
10148 ········otherVar.Dummy = 4711;
10149 ········pm.Save();
10150 ········pm.UnloadCache();
10151 ········QueryOther();
10152 Assert. NotNull( otherVar, "No Query Result") ;
10153 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
10154 Assert. NotNull( otherVar. RelField, "No related object") ;
10155 ····}
10156 ····[Test]
10157 ····public void TestRelationHash()
10158 ····{
10159 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi11TblGuidLeft));
10160 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
10161 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi11TblGuidRight));
10162 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
10163 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
10164 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
10165 ····}
10166 ····void CreateObjects()
10167 ····{
10168 ········pm.MakePersistent(ownVar);
10169 ········pm.MakePersistent(otherVar);
10170 ········ownVar.AssignRelation(otherVar);
10171 ········pm.Save();
10172 ········pm.UnloadCache();
10173 ····}
10174 ····void QueryOwn()
10175 ····{
10176 ········var q = new NDOQuery<AgrBi11TblGuidLeft>(pm);
10177 ········ownVar = q.ExecuteSingle();
10178 ····}
10179 ····void QueryOther()
10180 ····{
10181 ········var q = new NDOQuery<AgrBi11TblGuidRight>(pm);
10182 ········otherVar = q.ExecuteSingle();
10183 ····}
10184 }
10185
10186
10187 [TestFixture]
10188 public class TestAgrDirnNoTblGuid
10189 {
10190 ····AgrDirnNoTblGuidLeft ownVar;
10191 ····AgrDirnNoTblGuidRight otherVar;
10192 ····PersistenceManager pm;
10193 ····[SetUp]
10194 ····public void Setup()
10195 ····{
10196 ········pm = PmFactory.NewPersistenceManager();
10197 ········ownVar = new AgrDirnNoTblGuidLeft();
10198 ········otherVar = new AgrDirnNoTblGuidRight();
10199 ····}
10200 ····[TearDown]
10201 ····public void TearDown()
10202 ····{
10203 ········try
10204 ········{
10205 ············pm.UnloadCache();
10206 ············var l = pm.Objects<AgrDirnNoTblGuidLeft>().ResultTable;
10207 ············pm.Delete(l);
10208 ············pm.Save();
10209 ············pm.UnloadCache();
10210 ············var m = pm.Objects<AgrDirnNoTblGuidRight>().ResultTable;
10211 ············pm.Delete(m);
10212 ············pm.Save();
10213 ············pm.UnloadCache();
10214 ············decimal count;
10215 ············count = (decimal) new NDOQuery<AgrDirnNoTblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10216 Assert. AreEqual( 0, count, "Count wrong #1") ;
10217 ············count = (decimal) new NDOQuery<AgrDirnNoTblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10218 Assert. AreEqual( 0, count, "Count wrong #2") ;
10219 ········}
10220 ········catch (Exception)
10221 ········{
10222 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
10223 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
10224 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
10225 ········}
10226 ····}
10227 ····[Test]
10228 ····public void TestSaveReload()
10229 ····{
10230 ········CreateObjects();
10231 ········QueryOwn();
10232 Assert. NotNull( ownVar, "No Query Result") ;
10233 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10234 ····}
10235 ····[Test]
10236 ····public void TestSaveReloadNull()
10237 ····{
10238 ········CreateObjects();
10239 ········QueryOwn();
10240 Assert. NotNull( ownVar, "No Query Result") ;
10241 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10242 ········ownVar.RelField = new List<AgrDirnNoTblGuidRight>();
10243 ········pm.Save();
10244 ········pm.UnloadCache();
10245 ········QueryOwn();
10246 Assert. NotNull( ownVar, "No Query Result") ;
10247 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
10248 ····}
10249 ····[Test]
10250 ····public void TestSaveReloadRemove()
10251 ····{
10252 ········CreateObjects();
10253 ········QueryOwn();
10254 Assert. NotNull( ownVar, "No Query Result") ;
10255 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10256 ········ownVar.RemoveRelatedObject();
10257 ········pm.Save();
10258 ········pm.UnloadCache();
10259 ········QueryOwn();
10260 Assert. NotNull( ownVar, "No Query Result") ;
10261 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
10262 ····}
10263 ····void CreateObjects()
10264 ····{
10265 ········pm.MakePersistent(ownVar);
10266 ········pm.MakePersistent(otherVar);
10267 ········ownVar.AssignRelation(otherVar);
10268 ········pm.Save();
10269 ········pm.UnloadCache();
10270 ····}
10271 ····void QueryOwn()
10272 ····{
10273 ········var q = new NDOQuery<AgrDirnNoTblGuidLeft>(pm);
10274 ········ownVar = q.ExecuteSingle();
10275 ····}
10276 ····void QueryOther()
10277 ····{
10278 ········var q = new NDOQuery<AgrDirnNoTblGuidRight>(pm);
10279 ········otherVar = q.ExecuteSingle();
10280 ····}
10281 }
10282
10283
10284 [TestFixture]
10285 public class TestAgrDirnTblGuid
10286 {
10287 ····AgrDirnTblGuidLeft ownVar;
10288 ····AgrDirnTblGuidRight otherVar;
10289 ····PersistenceManager pm;
10290 ····[SetUp]
10291 ····public void Setup()
10292 ····{
10293 ········pm = PmFactory.NewPersistenceManager();
10294 ········ownVar = new AgrDirnTblGuidLeft();
10295 ········otherVar = new AgrDirnTblGuidRight();
10296 ····}
10297 ····[TearDown]
10298 ····public void TearDown()
10299 ····{
10300 ········try
10301 ········{
10302 ············pm.UnloadCache();
10303 ············var l = pm.Objects<AgrDirnTblGuidLeft>().ResultTable;
10304 ············pm.Delete(l);
10305 ············pm.Save();
10306 ············pm.UnloadCache();
10307 ············var m = pm.Objects<AgrDirnTblGuidRight>().ResultTable;
10308 ············pm.Delete(m);
10309 ············pm.Save();
10310 ············pm.UnloadCache();
10311 ············decimal count;
10312 ············count = (decimal) new NDOQuery<AgrDirnTblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10313 Assert. AreEqual( 0, count, "Count wrong #1") ;
10314 ············count = (decimal) new NDOQuery<AgrDirnTblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10315 Assert. AreEqual( 0, count, "Count wrong #2") ;
10316 ········}
10317 ········catch (Exception)
10318 ········{
10319 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
10320 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
10321 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
10322 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
10323 ········}
10324 ····}
10325 ····[Test]
10326 ····public void TestSaveReload()
10327 ····{
10328 ········CreateObjects();
10329 ········QueryOwn();
10330 Assert. NotNull( ownVar, "No Query Result") ;
10331 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10332 ····}
10333 ····[Test]
10334 ····public void TestSaveReloadNull()
10335 ····{
10336 ········CreateObjects();
10337 ········QueryOwn();
10338 Assert. NotNull( ownVar, "No Query Result") ;
10339 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10340 ········ownVar.RelField = new List<AgrDirnTblGuidRight>();
10341 ········pm.Save();
10342 ········pm.UnloadCache();
10343 ········QueryOwn();
10344 Assert. NotNull( ownVar, "No Query Result") ;
10345 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
10346 ····}
10347 ····[Test]
10348 ····public void TestSaveReloadRemove()
10349 ····{
10350 ········CreateObjects();
10351 ········QueryOwn();
10352 Assert. NotNull( ownVar, "No Query Result") ;
10353 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10354 ········ownVar.RemoveRelatedObject();
10355 ········pm.Save();
10356 ········pm.UnloadCache();
10357 ········QueryOwn();
10358 Assert. NotNull( ownVar, "No Query Result") ;
10359 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
10360 ····}
10361 ····void CreateObjects()
10362 ····{
10363 ········pm.MakePersistent(ownVar);
10364 ········pm.MakePersistent(otherVar);
10365 ········ownVar.AssignRelation(otherVar);
10366 ········pm.Save();
10367 ········pm.UnloadCache();
10368 ····}
10369 ····void QueryOwn()
10370 ····{
10371 ········var q = new NDOQuery<AgrDirnTblGuidLeft>(pm);
10372 ········ownVar = q.ExecuteSingle();
10373 ····}
10374 ····void QueryOther()
10375 ····{
10376 ········var q = new NDOQuery<AgrDirnTblGuidRight>(pm);
10377 ········otherVar = q.ExecuteSingle();
10378 ····}
10379 }
10380
10381
10382 [TestFixture]
10383 public class TestAgrBin1NoTblGuid
10384 {
10385 ····AgrBin1NoTblGuidLeft ownVar;
10386 ····AgrBin1NoTblGuidRight otherVar;
10387 ····PersistenceManager pm;
10388 ····[SetUp]
10389 ····public void Setup()
10390 ····{
10391 ········pm = PmFactory.NewPersistenceManager();
10392 ········ownVar = new AgrBin1NoTblGuidLeft();
10393 ········otherVar = new AgrBin1NoTblGuidRight();
10394 ····}
10395 ····[TearDown]
10396 ····public void TearDown()
10397 ····{
10398 ········try
10399 ········{
10400 ············pm.UnloadCache();
10401 ············var l = pm.Objects<AgrBin1NoTblGuidLeft>().ResultTable;
10402 ············pm.Delete(l);
10403 ············pm.Save();
10404 ············pm.UnloadCache();
10405 ············var m = pm.Objects<AgrBin1NoTblGuidRight>().ResultTable;
10406 ············pm.Delete(m);
10407 ············pm.Save();
10408 ············pm.UnloadCache();
10409 ············decimal count;
10410 ············count = (decimal) new NDOQuery<AgrBin1NoTblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10411 Assert. AreEqual( 0, count, "Count wrong #1") ;
10412 ············count = (decimal) new NDOQuery<AgrBin1NoTblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10413 Assert. AreEqual( 0, count, "Count wrong #2") ;
10414 ········}
10415 ········catch (Exception)
10416 ········{
10417 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
10418 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
10419 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
10420 ········}
10421 ····}
10422 ····[Test]
10423 ····public void TestSaveReload()
10424 ····{
10425 ········CreateObjects();
10426 ········QueryOwn();
10427 Assert. NotNull( ownVar, "No Query Result") ;
10428 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10429 ····}
10430 ····[Test]
10431 ····public void TestSaveReloadNull()
10432 ····{
10433 ········CreateObjects();
10434 ········QueryOwn();
10435 Assert. NotNull( ownVar, "No Query Result") ;
10436 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10437 ········ownVar.RelField = new List<AgrBin1NoTblGuidRight>();
10438 ········pm.Save();
10439 ········pm.UnloadCache();
10440 ········QueryOwn();
10441 Assert. NotNull( ownVar, "No Query Result") ;
10442 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
10443 ····}
10444 ····[Test]
10445 ····public void TestSaveReloadRemove()
10446 ····{
10447 ········CreateObjects();
10448 ········QueryOwn();
10449 Assert. NotNull( ownVar, "No Query Result") ;
10450 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10451 ········ownVar.RemoveRelatedObject();
10452 ········pm.Save();
10453 ········pm.UnloadCache();
10454 ········QueryOwn();
10455 Assert. NotNull( ownVar, "No Query Result") ;
10456 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
10457 ····}
10458 ····[Test]
10459 ····public void TestChangeKeyHolderRight()
10460 ····{
10461 ········CreateObjects();
10462 ········QueryOther();
10463 Assert. NotNull( otherVar, "No Query Result") ;
10464 Assert. NotNull( otherVar. RelField, "No related object") ;
10465 ········int x = otherVar.RelField.Dummy;
10466 ········otherVar.Dummy = 4711;
10467 ········pm.Save();
10468 ········pm.UnloadCache();
10469 ········QueryOther();
10470 Assert. NotNull( otherVar, "No Query Result") ;
10471 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
10472 Assert. NotNull( otherVar. RelField, "No related object") ;
10473 ····}
10474 ····[Test]
10475 ····public void TestChangeKeyHolderRightNoTouch()
10476 ····{
10477 ········CreateObjects();
10478 ········QueryOther();
10479 Assert. NotNull( otherVar, "No Query Result") ;
10480 Assert. NotNull( otherVar. RelField, "No related object") ;
10481 ········otherVar.Dummy = 4711;
10482 ········pm.Save();
10483 ········pm.UnloadCache();
10484 ········QueryOther();
10485 Assert. NotNull( otherVar, "No Query Result") ;
10486 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
10487 Assert. NotNull( otherVar. RelField, "No related object") ;
10488 ····}
10489 ····[Test]
10490 ····public void TestRelationHash()
10491 ····{
10492 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBin1NoTblGuidLeft));
10493 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
10494 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBin1NoTblGuidRight));
10495 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
10496 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
10497 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
10498 ····}
10499 ····void CreateObjects()
10500 ····{
10501 ········pm.MakePersistent(ownVar);
10502 ········pm.MakePersistent(otherVar);
10503 ········ownVar.AssignRelation(otherVar);
10504 ········pm.Save();
10505 ········pm.UnloadCache();
10506 ····}
10507 ····void QueryOwn()
10508 ····{
10509 ········var q = new NDOQuery<AgrBin1NoTblGuidLeft>(pm);
10510 ········ownVar = q.ExecuteSingle();
10511 ····}
10512 ····void QueryOther()
10513 ····{
10514 ········var q = new NDOQuery<AgrBin1NoTblGuidRight>(pm);
10515 ········otherVar = q.ExecuteSingle();
10516 ····}
10517 }
10518
10519
10520 [TestFixture]
10521 public class TestAgrBin1TblGuid
10522 {
10523 ····AgrBin1TblGuidLeft ownVar;
10524 ····AgrBin1TblGuidRight otherVar;
10525 ····PersistenceManager pm;
10526 ····[SetUp]
10527 ····public void Setup()
10528 ····{
10529 ········pm = PmFactory.NewPersistenceManager();
10530 ········ownVar = new AgrBin1TblGuidLeft();
10531 ········otherVar = new AgrBin1TblGuidRight();
10532 ····}
10533 ····[TearDown]
10534 ····public void TearDown()
10535 ····{
10536 ········try
10537 ········{
10538 ············pm.UnloadCache();
10539 ············var l = pm.Objects<AgrBin1TblGuidLeft>().ResultTable;
10540 ············pm.Delete(l);
10541 ············pm.Save();
10542 ············pm.UnloadCache();
10543 ············var m = pm.Objects<AgrBin1TblGuidRight>().ResultTable;
10544 ············pm.Delete(m);
10545 ············pm.Save();
10546 ············pm.UnloadCache();
10547 ············decimal count;
10548 ············count = (decimal) new NDOQuery<AgrBin1TblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10549 Assert. AreEqual( 0, count, "Count wrong #1") ;
10550 ············count = (decimal) new NDOQuery<AgrBin1TblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10551 Assert. AreEqual( 0, count, "Count wrong #2") ;
10552 ········}
10553 ········catch (Exception)
10554 ········{
10555 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
10556 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
10557 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
10558 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
10559 ········}
10560 ····}
10561 ····[Test]
10562 ····public void TestSaveReload()
10563 ····{
10564 ········CreateObjects();
10565 ········QueryOwn();
10566 Assert. NotNull( ownVar, "No Query Result") ;
10567 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10568 ····}
10569 ····[Test]
10570 ····public void TestSaveReloadNull()
10571 ····{
10572 ········CreateObjects();
10573 ········QueryOwn();
10574 Assert. NotNull( ownVar, "No Query Result") ;
10575 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10576 ········ownVar.RelField = new List<AgrBin1TblGuidRight>();
10577 ········pm.Save();
10578 ········pm.UnloadCache();
10579 ········QueryOwn();
10580 Assert. NotNull( ownVar, "No Query Result") ;
10581 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
10582 ····}
10583 ····[Test]
10584 ····public void TestSaveReloadRemove()
10585 ····{
10586 ········CreateObjects();
10587 ········QueryOwn();
10588 Assert. NotNull( ownVar, "No Query Result") ;
10589 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10590 ········ownVar.RemoveRelatedObject();
10591 ········pm.Save();
10592 ········pm.UnloadCache();
10593 ········QueryOwn();
10594 Assert. NotNull( ownVar, "No Query Result") ;
10595 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
10596 ····}
10597 ····[Test]
10598 ····public void TestChangeKeyHolderRight()
10599 ····{
10600 ········CreateObjects();
10601 ········QueryOther();
10602 Assert. NotNull( otherVar, "No Query Result") ;
10603 Assert. NotNull( otherVar. RelField, "No related object") ;
10604 ········int x = otherVar.RelField.Dummy;
10605 ········otherVar.Dummy = 4711;
10606 ········pm.Save();
10607 ········pm.UnloadCache();
10608 ········QueryOther();
10609 Assert. NotNull( otherVar, "No Query Result") ;
10610 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
10611 Assert. NotNull( otherVar. RelField, "No related object") ;
10612 ····}
10613 ····[Test]
10614 ····public void TestChangeKeyHolderRightNoTouch()
10615 ····{
10616 ········CreateObjects();
10617 ········QueryOther();
10618 Assert. NotNull( otherVar, "No Query Result") ;
10619 Assert. NotNull( otherVar. RelField, "No related object") ;
10620 ········otherVar.Dummy = 4711;
10621 ········pm.Save();
10622 ········pm.UnloadCache();
10623 ········QueryOther();
10624 Assert. NotNull( otherVar, "No Query Result") ;
10625 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
10626 Assert. NotNull( otherVar. RelField, "No related object") ;
10627 ····}
10628 ····[Test]
10629 ····public void TestRelationHash()
10630 ····{
10631 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBin1TblGuidLeft));
10632 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
10633 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBin1TblGuidRight));
10634 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
10635 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
10636 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
10637 ····}
10638 ····void CreateObjects()
10639 ····{
10640 ········pm.MakePersistent(ownVar);
10641 ········pm.MakePersistent(otherVar);
10642 ········ownVar.AssignRelation(otherVar);
10643 ········pm.Save();
10644 ········pm.UnloadCache();
10645 ····}
10646 ····void QueryOwn()
10647 ····{
10648 ········var q = new NDOQuery<AgrBin1TblGuidLeft>(pm);
10649 ········ownVar = q.ExecuteSingle();
10650 ····}
10651 ····void QueryOther()
10652 ····{
10653 ········var q = new NDOQuery<AgrBin1TblGuidRight>(pm);
10654 ········otherVar = q.ExecuteSingle();
10655 ····}
10656 }
10657
10658
10659 [TestFixture]
10660 public class TestAgrBi1nNoTblGuid
10661 {
10662 ····AgrBi1nNoTblGuidLeft ownVar;
10663 ····AgrBi1nNoTblGuidRight otherVar;
10664 ····PersistenceManager pm;
10665 ····[SetUp]
10666 ····public void Setup()
10667 ····{
10668 ········pm = PmFactory.NewPersistenceManager();
10669 ········ownVar = new AgrBi1nNoTblGuidLeft();
10670 ········otherVar = new AgrBi1nNoTblGuidRight();
10671 ····}
10672 ····[TearDown]
10673 ····public void TearDown()
10674 ····{
10675 ········try
10676 ········{
10677 ············pm.UnloadCache();
10678 ············var l = pm.Objects<AgrBi1nNoTblGuidLeft>().ResultTable;
10679 ············pm.Delete(l);
10680 ············pm.Save();
10681 ············pm.UnloadCache();
10682 ············var m = pm.Objects<AgrBi1nNoTblGuidRight>().ResultTable;
10683 ············pm.Delete(m);
10684 ············pm.Save();
10685 ············pm.UnloadCache();
10686 ············decimal count;
10687 ············count = (decimal) new NDOQuery<AgrBi1nNoTblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10688 Assert. AreEqual( 0, count, "Count wrong #1") ;
10689 ············count = (decimal) new NDOQuery<AgrBi1nNoTblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10690 Assert. AreEqual( 0, count, "Count wrong #2") ;
10691 ········}
10692 ········catch (Exception)
10693 ········{
10694 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
10695 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
10696 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
10697 ········}
10698 ····}
10699 ····[Test]
10700 ····public void TestSaveReload()
10701 ····{
10702 ········CreateObjects();
10703 ········QueryOwn();
10704 Assert. NotNull( ownVar, "No Query Result") ;
10705 Assert. NotNull( ownVar. RelField, "No related object") ;
10706 ····}
10707 ····[Test]
10708 ····public void TestSaveReloadNull()
10709 ····{
10710 ········CreateObjects();
10711 ········QueryOwn();
10712 Assert. NotNull( ownVar, "No Query Result") ;
10713 Assert. NotNull( ownVar. RelField, "No related object") ;
10714 ········ownVar.RelField = null;
10715 ········pm.Save();
10716 ········pm.UnloadCache();
10717 ········QueryOwn();
10718 Assert. NotNull( ownVar, "No Query Result") ;
10719 Assert. Null( ownVar. RelField, "There should be no object") ;
10720 ····}
10721 ····[Test]
10722 ····public void TestChangeKeyHolderLeft()
10723 ····{
10724 ········CreateObjects();
10725 ········QueryOwn();
10726 Assert. NotNull( ownVar, "No Query Result") ;
10727 Assert. NotNull( ownVar. RelField, "No related object") ;
10728 ········int x = ownVar.RelField.Dummy;
10729 ········ownVar.Dummy = 4711;
10730 ········pm.Save();
10731 ········pm.UnloadCache();
10732 ········QueryOwn();
10733 Assert. NotNull( ownVar, "No Query Result") ;
10734 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
10735 Assert. NotNull( ownVar. RelField, "No related object") ;
10736 ····}
10737 ····[Test]
10738 ····public void TestChangeKeyHolderLeftNoTouch()
10739 ····{
10740 ········CreateObjects();
10741 ········QueryOwn();
10742 Assert. NotNull( ownVar, "No Query Result") ;
10743 Assert. NotNull( ownVar. RelField, "No related object") ;
10744 ········ownVar.Dummy = 4711;
10745 ········pm.Save();
10746 ········pm.UnloadCache();
10747 ········QueryOwn();
10748 Assert. NotNull( ownVar, "No Query Result") ;
10749 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
10750 Assert. NotNull( ownVar. RelField, "No related object") ;
10751 ····}
10752 ····[Test]
10753 ····public void TestRelationHash()
10754 ····{
10755 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi1nNoTblGuidLeft));
10756 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
10757 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi1nNoTblGuidRight));
10758 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
10759 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
10760 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
10761 ····}
10762 ····void CreateObjects()
10763 ····{
10764 ········pm.MakePersistent(ownVar);
10765 ········pm.MakePersistent(otherVar);
10766 ········ownVar.AssignRelation(otherVar);
10767 ········pm.Save();
10768 ········pm.UnloadCache();
10769 ····}
10770 ····void QueryOwn()
10771 ····{
10772 ········var q = new NDOQuery<AgrBi1nNoTblGuidLeft>(pm);
10773 ········ownVar = q.ExecuteSingle();
10774 ····}
10775 ····void QueryOther()
10776 ····{
10777 ········var q = new NDOQuery<AgrBi1nNoTblGuidRight>(pm);
10778 ········otherVar = q.ExecuteSingle();
10779 ····}
10780 }
10781
10782
10783 [TestFixture]
10784 public class TestAgrBi1nTblGuid
10785 {
10786 ····AgrBi1nTblGuidLeft ownVar;
10787 ····AgrBi1nTblGuidRight otherVar;
10788 ····PersistenceManager pm;
10789 ····[SetUp]
10790 ····public void Setup()
10791 ····{
10792 ········pm = PmFactory.NewPersistenceManager();
10793 ········ownVar = new AgrBi1nTblGuidLeft();
10794 ········otherVar = new AgrBi1nTblGuidRight();
10795 ····}
10796 ····[TearDown]
10797 ····public void TearDown()
10798 ····{
10799 ········try
10800 ········{
10801 ············pm.UnloadCache();
10802 ············var l = pm.Objects<AgrBi1nTblGuidLeft>().ResultTable;
10803 ············pm.Delete(l);
10804 ············pm.Save();
10805 ············pm.UnloadCache();
10806 ············var m = pm.Objects<AgrBi1nTblGuidRight>().ResultTable;
10807 ············pm.Delete(m);
10808 ············pm.Save();
10809 ············pm.UnloadCache();
10810 ············decimal count;
10811 ············count = (decimal) new NDOQuery<AgrBi1nTblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10812 Assert. AreEqual( 0, count, "Count wrong #1") ;
10813 ············count = (decimal) new NDOQuery<AgrBi1nTblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10814 Assert. AreEqual( 0, count, "Count wrong #2") ;
10815 ········}
10816 ········catch (Exception)
10817 ········{
10818 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
10819 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
10820 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
10821 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
10822 ········}
10823 ····}
10824 ····[Test]
10825 ····public void TestSaveReload()
10826 ····{
10827 ········CreateObjects();
10828 ········QueryOwn();
10829 Assert. NotNull( ownVar, "No Query Result") ;
10830 Assert. NotNull( ownVar. RelField, "No related object") ;
10831 ····}
10832 ····[Test]
10833 ····public void TestSaveReloadNull()
10834 ····{
10835 ········CreateObjects();
10836 ········QueryOwn();
10837 Assert. NotNull( ownVar, "No Query Result") ;
10838 Assert. NotNull( ownVar. RelField, "No related object") ;
10839 ········ownVar.RelField = null;
10840 ········pm.Save();
10841 ········pm.UnloadCache();
10842 ········QueryOwn();
10843 Assert. NotNull( ownVar, "No Query Result") ;
10844 Assert. Null( ownVar. RelField, "There should be no object") ;
10845 ····}
10846 ····[Test]
10847 ····public void TestChangeKeyHolderLeft()
10848 ····{
10849 ········CreateObjects();
10850 ········QueryOwn();
10851 Assert. NotNull( ownVar, "No Query Result") ;
10852 Assert. NotNull( ownVar. RelField, "No related object") ;
10853 ········int x = ownVar.RelField.Dummy;
10854 ········ownVar.Dummy = 4711;
10855 ········pm.Save();
10856 ········pm.UnloadCache();
10857 ········QueryOwn();
10858 Assert. NotNull( ownVar, "No Query Result") ;
10859 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
10860 Assert. NotNull( ownVar. RelField, "No related object") ;
10861 ····}
10862 ····[Test]
10863 ····public void TestChangeKeyHolderLeftNoTouch()
10864 ····{
10865 ········CreateObjects();
10866 ········QueryOwn();
10867 Assert. NotNull( ownVar, "No Query Result") ;
10868 Assert. NotNull( ownVar. RelField, "No related object") ;
10869 ········ownVar.Dummy = 4711;
10870 ········pm.Save();
10871 ········pm.UnloadCache();
10872 ········QueryOwn();
10873 Assert. NotNull( ownVar, "No Query Result") ;
10874 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
10875 Assert. NotNull( ownVar. RelField, "No related object") ;
10876 ····}
10877 ····[Test]
10878 ····public void TestRelationHash()
10879 ····{
10880 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBi1nTblGuidLeft));
10881 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
10882 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBi1nTblGuidRight));
10883 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
10884 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
10885 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
10886 ····}
10887 ····void CreateObjects()
10888 ····{
10889 ········pm.MakePersistent(ownVar);
10890 ········pm.MakePersistent(otherVar);
10891 ········ownVar.AssignRelation(otherVar);
10892 ········pm.Save();
10893 ········pm.UnloadCache();
10894 ····}
10895 ····void QueryOwn()
10896 ····{
10897 ········var q = new NDOQuery<AgrBi1nTblGuidLeft>(pm);
10898 ········ownVar = q.ExecuteSingle();
10899 ····}
10900 ····void QueryOther()
10901 ····{
10902 ········var q = new NDOQuery<AgrBi1nTblGuidRight>(pm);
10903 ········otherVar = q.ExecuteSingle();
10904 ····}
10905 }
10906
10907
10908 [TestFixture]
10909 public class TestAgrBinnTblGuid
10910 {
10911 ····AgrBinnTblGuidLeft ownVar;
10912 ····AgrBinnTblGuidRight otherVar;
10913 ····PersistenceManager pm;
10914 ····[SetUp]
10915 ····public void Setup()
10916 ····{
10917 ········pm = PmFactory.NewPersistenceManager();
10918 ········ownVar = new AgrBinnTblGuidLeft();
10919 ········otherVar = new AgrBinnTblGuidRight();
10920 ····}
10921 ····[TearDown]
10922 ····public void TearDown()
10923 ····{
10924 ········try
10925 ········{
10926 ············pm.UnloadCache();
10927 ············var l = pm.Objects<AgrBinnTblGuidLeft>().ResultTable;
10928 ············pm.Delete(l);
10929 ············pm.Save();
10930 ············pm.UnloadCache();
10931 ············var m = pm.Objects<AgrBinnTblGuidRight>().ResultTable;
10932 ············pm.Delete(m);
10933 ············pm.Save();
10934 ············pm.UnloadCache();
10935 ············decimal count;
10936 ············count = (decimal) new NDOQuery<AgrBinnTblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10937 Assert. AreEqual( 0, count, "Count wrong #1") ;
10938 ············count = (decimal) new NDOQuery<AgrBinnTblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
10939 Assert. AreEqual( 0, count, "Count wrong #2") ;
10940 ········}
10941 ········catch (Exception)
10942 ········{
10943 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
10944 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
10945 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
10946 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
10947 ········}
10948 ····}
10949 ····[Test]
10950 ····public void TestSaveReload()
10951 ····{
10952 ········CreateObjects();
10953 ········QueryOwn();
10954 Assert. NotNull( ownVar, "No Query Result") ;
10955 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10956 ····}
10957 ····[Test]
10958 ····public void TestSaveReloadNull()
10959 ····{
10960 ········CreateObjects();
10961 ········QueryOwn();
10962 Assert. NotNull( ownVar, "No Query Result") ;
10963 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10964 ········ownVar.RelField = new List<AgrBinnTblGuidRight>();
10965 ········pm.Save();
10966 ········pm.UnloadCache();
10967 ········QueryOwn();
10968 Assert. NotNull( ownVar, "No Query Result") ;
10969 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
10970 ····}
10971 ····[Test]
10972 ····public void TestSaveReloadRemove()
10973 ····{
10974 ········CreateObjects();
10975 ········QueryOwn();
10976 Assert. NotNull( ownVar, "No Query Result") ;
10977 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
10978 ········ownVar.RemoveRelatedObject();
10979 ········pm.Save();
10980 ········pm.UnloadCache();
10981 ········QueryOwn();
10982 Assert. NotNull( ownVar, "No Query Result") ;
10983 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
10984 ····}
10985 ····[Test]
10986 ····public void TestRelationHash()
10987 ····{
10988 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(AgrBinnTblGuidLeft));
10989 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
10990 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(AgrBinnTblGuidRight));
10991 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
10992 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
10993 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
10994 ····}
10995 ····void CreateObjects()
10996 ····{
10997 ········pm.MakePersistent(ownVar);
10998 ········pm.MakePersistent(otherVar);
10999 ········ownVar.AssignRelation(otherVar);
11000 ········pm.Save();
11001 ········pm.UnloadCache();
11002 ····}
11003 ····void QueryOwn()
11004 ····{
11005 ········var q = new NDOQuery<AgrBinnTblGuidLeft>(pm);
11006 ········ownVar = q.ExecuteSingle();
11007 ····}
11008 ····void QueryOther()
11009 ····{
11010 ········var q = new NDOQuery<AgrBinnTblGuidRight>(pm);
11011 ········otherVar = q.ExecuteSingle();
11012 ····}
11013 }
11014
11015
11016 [TestFixture]
11017 public class TestCmpDir1NoTblGuid
11018 {
11019 ····CmpDir1NoTblGuidLeft ownVar;
11020 ····CmpDir1NoTblGuidRight otherVar;
11021 ····PersistenceManager pm;
11022 ····[SetUp]
11023 ····public void Setup()
11024 ····{
11025 ········pm = PmFactory.NewPersistenceManager();
11026 ········ownVar = new CmpDir1NoTblGuidLeft();
11027 ········otherVar = new CmpDir1NoTblGuidRight();
11028 ····}
11029 ····[TearDown]
11030 ····public void TearDown()
11031 ····{
11032 ········try
11033 ········{
11034 ············pm.UnloadCache();
11035 ············var l = pm.Objects<CmpDir1NoTblGuidLeft>().ResultTable;
11036 ············pm.Delete(l);
11037 ············pm.Save();
11038 ············pm.UnloadCache();
11039 ············decimal count;
11040 ············count = (decimal) new NDOQuery<CmpDir1NoTblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11041 Assert. AreEqual( 0, count, "Count wrong #1") ;
11042 ············count = (decimal) new NDOQuery<CmpDir1NoTblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11043 Assert. AreEqual( 0, count, "Count wrong #2") ;
11044 ········}
11045 ········catch (Exception)
11046 ········{
11047 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
11048 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
11049 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
11050 ········}
11051 ····}
11052 ····[Test]
11053 ····public void TestSaveReload()
11054 ····{
11055 ········CreateObjects();
11056 ········QueryOwn();
11057 Assert. NotNull( ownVar, "No Query Result") ;
11058 Assert. NotNull( ownVar. RelField, "No related object") ;
11059 ····}
11060 ····[Test]
11061 ····public void TestSaveReloadNull()
11062 ····{
11063 ········CreateObjects();
11064 ········QueryOwn();
11065 Assert. NotNull( ownVar, "No Query Result") ;
11066 Assert. NotNull( ownVar. RelField, "No related object") ;
11067 ········ownVar.RelField = null;
11068 ········pm.Save();
11069 ········pm.UnloadCache();
11070 ········QueryOwn();
11071 Assert. NotNull( ownVar, "No Query Result") ;
11072 Assert. Null( ownVar. RelField, "There should be no object") ;
11073 ····}
11074 ····[Test]
11075 ····public void TestChangeKeyHolderLeft()
11076 ····{
11077 ········CreateObjects();
11078 ········QueryOwn();
11079 Assert. NotNull( ownVar, "No Query Result") ;
11080 Assert. NotNull( ownVar. RelField, "No related object") ;
11081 ········int x = ownVar.RelField.Dummy;
11082 ········ownVar.Dummy = 4711;
11083 ········pm.Save();
11084 ········pm.UnloadCache();
11085 ········QueryOwn();
11086 Assert. NotNull( ownVar, "No Query Result") ;
11087 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
11088 Assert. NotNull( ownVar. RelField, "No related object") ;
11089 ····}
11090 ····[Test]
11091 ····public void TestChangeKeyHolderLeftNoTouch()
11092 ····{
11093 ········CreateObjects();
11094 ········QueryOwn();
11095 Assert. NotNull( ownVar, "No Query Result") ;
11096 Assert. NotNull( ownVar. RelField, "No related object") ;
11097 ········ownVar.Dummy = 4711;
11098 ········pm.Save();
11099 ········pm.UnloadCache();
11100 ········QueryOwn();
11101 Assert. NotNull( ownVar, "No Query Result") ;
11102 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
11103 Assert. NotNull( ownVar. RelField, "No related object") ;
11104 ····}
11105 ····void CreateObjects()
11106 ····{
11107 ········pm.MakePersistent(ownVar);
11108 ········ownVar.AssignRelation(otherVar);
11109 ········pm.Save();
11110 ········pm.UnloadCache();
11111 ····}
11112 ····void QueryOwn()
11113 ····{
11114 ········var q = new NDOQuery<CmpDir1NoTblGuidLeft>(pm);
11115 ········ownVar = q.ExecuteSingle();
11116 ····}
11117 ····void QueryOther()
11118 ····{
11119 ········var q = new NDOQuery<CmpDir1NoTblGuidRight>(pm);
11120 ········otherVar = q.ExecuteSingle();
11121 ····}
11122 }
11123
11124
11125 [TestFixture]
11126 public class TestCmpDir1TblGuid
11127 {
11128 ····CmpDir1TblGuidLeft ownVar;
11129 ····CmpDir1TblGuidRight otherVar;
11130 ····PersistenceManager pm;
11131 ····[SetUp]
11132 ····public void Setup()
11133 ····{
11134 ········pm = PmFactory.NewPersistenceManager();
11135 ········ownVar = new CmpDir1TblGuidLeft();
11136 ········otherVar = new CmpDir1TblGuidRight();
11137 ····}
11138 ····[TearDown]
11139 ····public void TearDown()
11140 ····{
11141 ········try
11142 ········{
11143 ············pm.UnloadCache();
11144 ············var l = pm.Objects<CmpDir1TblGuidLeft>().ResultTable;
11145 ············pm.Delete(l);
11146 ············pm.Save();
11147 ············pm.UnloadCache();
11148 ············decimal count;
11149 ············count = (decimal) new NDOQuery<CmpDir1TblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11150 Assert. AreEqual( 0, count, "Count wrong #1") ;
11151 ············count = (decimal) new NDOQuery<CmpDir1TblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11152 Assert. AreEqual( 0, count, "Count wrong #2") ;
11153 ········}
11154 ········catch (Exception)
11155 ········{
11156 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
11157 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
11158 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
11159 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
11160 ········}
11161 ····}
11162 ····[Test]
11163 ····public void TestSaveReload()
11164 ····{
11165 ········CreateObjects();
11166 ········QueryOwn();
11167 Assert. NotNull( ownVar, "No Query Result") ;
11168 Assert. NotNull( ownVar. RelField, "No related object") ;
11169 ····}
11170 ····[Test]
11171 ····public void TestSaveReloadNull()
11172 ····{
11173 ········CreateObjects();
11174 ········QueryOwn();
11175 Assert. NotNull( ownVar, "No Query Result") ;
11176 Assert. NotNull( ownVar. RelField, "No related object") ;
11177 ········ownVar.RelField = null;
11178 ········pm.Save();
11179 ········pm.UnloadCache();
11180 ········QueryOwn();
11181 Assert. NotNull( ownVar, "No Query Result") ;
11182 Assert. Null( ownVar. RelField, "There should be no object") ;
11183 ····}
11184 ····[Test]
11185 ····public void TestChangeKeyHolderLeft()
11186 ····{
11187 ········CreateObjects();
11188 ········QueryOwn();
11189 Assert. NotNull( ownVar, "No Query Result") ;
11190 Assert. NotNull( ownVar. RelField, "No related object") ;
11191 ········int x = ownVar.RelField.Dummy;
11192 ········ownVar.Dummy = 4711;
11193 ········pm.Save();
11194 ········pm.UnloadCache();
11195 ········QueryOwn();
11196 Assert. NotNull( ownVar, "No Query Result") ;
11197 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
11198 Assert. NotNull( ownVar. RelField, "No related object") ;
11199 ····}
11200 ····[Test]
11201 ····public void TestChangeKeyHolderLeftNoTouch()
11202 ····{
11203 ········CreateObjects();
11204 ········QueryOwn();
11205 Assert. NotNull( ownVar, "No Query Result") ;
11206 Assert. NotNull( ownVar. RelField, "No related object") ;
11207 ········ownVar.Dummy = 4711;
11208 ········pm.Save();
11209 ········pm.UnloadCache();
11210 ········QueryOwn();
11211 Assert. NotNull( ownVar, "No Query Result") ;
11212 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
11213 Assert. NotNull( ownVar. RelField, "No related object") ;
11214 ····}
11215 ····void CreateObjects()
11216 ····{
11217 ········pm.MakePersistent(ownVar);
11218 ········ownVar.AssignRelation(otherVar);
11219 ········pm.Save();
11220 ········pm.UnloadCache();
11221 ····}
11222 ····void QueryOwn()
11223 ····{
11224 ········var q = new NDOQuery<CmpDir1TblGuidLeft>(pm);
11225 ········ownVar = q.ExecuteSingle();
11226 ····}
11227 ····void QueryOther()
11228 ····{
11229 ········var q = new NDOQuery<CmpDir1TblGuidRight>(pm);
11230 ········otherVar = q.ExecuteSingle();
11231 ····}
11232 }
11233
11234
11235 [TestFixture]
11236 public class TestCmpBi11NoTblGuid
11237 {
11238 ····CmpBi11NoTblGuidLeft ownVar;
11239 ····CmpBi11NoTblGuidRight otherVar;
11240 ····PersistenceManager pm;
11241 ····[SetUp]
11242 ····public void Setup()
11243 ····{
11244 ········pm = PmFactory.NewPersistenceManager();
11245 ········ownVar = new CmpBi11NoTblGuidLeft();
11246 ········otherVar = new CmpBi11NoTblGuidRight();
11247 ····}
11248 ····[TearDown]
11249 ····public void TearDown()
11250 ····{
11251 ········try
11252 ········{
11253 ············pm.UnloadCache();
11254 ············var l = pm.Objects<CmpBi11NoTblGuidLeft>().ResultTable;
11255 ············pm.Delete(l);
11256 ············pm.Save();
11257 ············pm.UnloadCache();
11258 ············decimal count;
11259 ············count = (decimal) new NDOQuery<CmpBi11NoTblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11260 Assert. AreEqual( 0, count, "Count wrong #1") ;
11261 ············count = (decimal) new NDOQuery<CmpBi11NoTblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11262 Assert. AreEqual( 0, count, "Count wrong #2") ;
11263 ········}
11264 ········catch (Exception)
11265 ········{
11266 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
11267 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
11268 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
11269 ········}
11270 ····}
11271 ····[Test]
11272 ····public void TestSaveReload()
11273 ····{
11274 ········CreateObjects();
11275 ········QueryOwn();
11276 Assert. NotNull( ownVar, "No Query Result") ;
11277 Assert. NotNull( ownVar. RelField, "No related object") ;
11278 ····}
11279 ····[Test]
11280 ····public void TestSaveReloadNull()
11281 ····{
11282 ········CreateObjects();
11283 ········QueryOwn();
11284 Assert. NotNull( ownVar, "No Query Result") ;
11285 Assert. NotNull( ownVar. RelField, "No related object") ;
11286 ········ownVar.RelField = null;
11287 ········pm.Save();
11288 ········pm.UnloadCache();
11289 ········QueryOwn();
11290 Assert. NotNull( ownVar, "No Query Result") ;
11291 Assert. Null( ownVar. RelField, "There should be no object") ;
11292 ····}
11293 ····[Test]
11294 ····public void TestChangeKeyHolderLeft()
11295 ····{
11296 ········CreateObjects();
11297 ········QueryOwn();
11298 Assert. NotNull( ownVar, "No Query Result") ;
11299 Assert. NotNull( ownVar. RelField, "No related object") ;
11300 ········int x = ownVar.RelField.Dummy;
11301 ········ownVar.Dummy = 4711;
11302 ········pm.Save();
11303 ········pm.UnloadCache();
11304 ········QueryOwn();
11305 Assert. NotNull( ownVar, "No Query Result") ;
11306 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
11307 Assert. NotNull( ownVar. RelField, "No related object") ;
11308 ····}
11309 ····[Test]
11310 ····public void TestChangeKeyHolderRight()
11311 ····{
11312 ········CreateObjects();
11313 ········QueryOther();
11314 Assert. NotNull( otherVar, "No Query Result") ;
11315 Assert. NotNull( otherVar. RelField, "No related object") ;
11316 ········int x = otherVar.RelField.Dummy;
11317 ········otherVar.Dummy = 4711;
11318 ········pm.Save();
11319 ········pm.UnloadCache();
11320 ········QueryOther();
11321 Assert. NotNull( otherVar, "No Query Result") ;
11322 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
11323 Assert. NotNull( otherVar. RelField, "No related object") ;
11324 ····}
11325 ····[Test]
11326 ····public void TestChangeKeyHolderLeftNoTouch()
11327 ····{
11328 ········CreateObjects();
11329 ········QueryOwn();
11330 Assert. NotNull( ownVar, "No Query Result") ;
11331 Assert. NotNull( ownVar. RelField, "No related object") ;
11332 ········ownVar.Dummy = 4711;
11333 ········pm.Save();
11334 ········pm.UnloadCache();
11335 ········QueryOwn();
11336 Assert. NotNull( ownVar, "No Query Result") ;
11337 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
11338 Assert. NotNull( ownVar. RelField, "No related object") ;
11339 ····}
11340 ····[Test]
11341 ····public void TestChangeKeyHolderRightNoTouch()
11342 ····{
11343 ········CreateObjects();
11344 ········QueryOther();
11345 Assert. NotNull( otherVar, "No Query Result") ;
11346 Assert. NotNull( otherVar. RelField, "No related object") ;
11347 ········otherVar.Dummy = 4711;
11348 ········pm.Save();
11349 ········pm.UnloadCache();
11350 ········QueryOther();
11351 Assert. NotNull( otherVar, "No Query Result") ;
11352 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
11353 Assert. NotNull( otherVar. RelField, "No related object") ;
11354 ····}
11355 ····[Test]
11356 ····public void TestRelationHash()
11357 ····{
11358 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi11NoTblGuidLeft));
11359 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
11360 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi11NoTblGuidRight));
11361 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
11362 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
11363 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
11364 ····}
11365 ····void CreateObjects()
11366 ····{
11367 ········pm.MakePersistent(ownVar);
11368 ········ownVar.AssignRelation(otherVar);
11369 ········pm.Save();
11370 ········pm.UnloadCache();
11371 ····}
11372 ····void QueryOwn()
11373 ····{
11374 ········var q = new NDOQuery<CmpBi11NoTblGuidLeft>(pm);
11375 ········ownVar = q.ExecuteSingle();
11376 ····}
11377 ····void QueryOther()
11378 ····{
11379 ········var q = new NDOQuery<CmpBi11NoTblGuidRight>(pm);
11380 ········otherVar = q.ExecuteSingle();
11381 ····}
11382 }
11383
11384
11385 [TestFixture]
11386 public class TestCmpBi11TblGuid
11387 {
11388 ····CmpBi11TblGuidLeft ownVar;
11389 ····CmpBi11TblGuidRight otherVar;
11390 ····PersistenceManager pm;
11391 ····[SetUp]
11392 ····public void Setup()
11393 ····{
11394 ········pm = PmFactory.NewPersistenceManager();
11395 ········ownVar = new CmpBi11TblGuidLeft();
11396 ········otherVar = new CmpBi11TblGuidRight();
11397 ····}
11398 ····[TearDown]
11399 ····public void TearDown()
11400 ····{
11401 ········try
11402 ········{
11403 ············pm.UnloadCache();
11404 ············var l = pm.Objects<CmpBi11TblGuidLeft>().ResultTable;
11405 ············pm.Delete(l);
11406 ············pm.Save();
11407 ············pm.UnloadCache();
11408 ············decimal count;
11409 ············count = (decimal) new NDOQuery<CmpBi11TblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11410 Assert. AreEqual( 0, count, "Count wrong #1") ;
11411 ············count = (decimal) new NDOQuery<CmpBi11TblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11412 Assert. AreEqual( 0, count, "Count wrong #2") ;
11413 ········}
11414 ········catch (Exception)
11415 ········{
11416 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
11417 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
11418 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
11419 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
11420 ········}
11421 ····}
11422 ····[Test]
11423 ····public void TestSaveReload()
11424 ····{
11425 ········CreateObjects();
11426 ········QueryOwn();
11427 Assert. NotNull( ownVar, "No Query Result") ;
11428 Assert. NotNull( ownVar. RelField, "No related object") ;
11429 ····}
11430 ····[Test]
11431 ····public void TestSaveReloadNull()
11432 ····{
11433 ········CreateObjects();
11434 ········QueryOwn();
11435 Assert. NotNull( ownVar, "No Query Result") ;
11436 Assert. NotNull( ownVar. RelField, "No related object") ;
11437 ········ownVar.RelField = null;
11438 ········pm.Save();
11439 ········pm.UnloadCache();
11440 ········QueryOwn();
11441 Assert. NotNull( ownVar, "No Query Result") ;
11442 Assert. Null( ownVar. RelField, "There should be no object") ;
11443 ····}
11444 ····[Test]
11445 ····public void TestChangeKeyHolderLeft()
11446 ····{
11447 ········CreateObjects();
11448 ········QueryOwn();
11449 Assert. NotNull( ownVar, "No Query Result") ;
11450 Assert. NotNull( ownVar. RelField, "No related object") ;
11451 ········int x = ownVar.RelField.Dummy;
11452 ········ownVar.Dummy = 4711;
11453 ········pm.Save();
11454 ········pm.UnloadCache();
11455 ········QueryOwn();
11456 Assert. NotNull( ownVar, "No Query Result") ;
11457 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
11458 Assert. NotNull( ownVar. RelField, "No related object") ;
11459 ····}
11460 ····[Test]
11461 ····public void TestChangeKeyHolderRight()
11462 ····{
11463 ········CreateObjects();
11464 ········QueryOther();
11465 Assert. NotNull( otherVar, "No Query Result") ;
11466 Assert. NotNull( otherVar. RelField, "No related object") ;
11467 ········int x = otherVar.RelField.Dummy;
11468 ········otherVar.Dummy = 4711;
11469 ········pm.Save();
11470 ········pm.UnloadCache();
11471 ········QueryOther();
11472 Assert. NotNull( otherVar, "No Query Result") ;
11473 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
11474 Assert. NotNull( otherVar. RelField, "No related object") ;
11475 ····}
11476 ····[Test]
11477 ····public void TestChangeKeyHolderLeftNoTouch()
11478 ····{
11479 ········CreateObjects();
11480 ········QueryOwn();
11481 Assert. NotNull( ownVar, "No Query Result") ;
11482 Assert. NotNull( ownVar. RelField, "No related object") ;
11483 ········ownVar.Dummy = 4711;
11484 ········pm.Save();
11485 ········pm.UnloadCache();
11486 ········QueryOwn();
11487 Assert. NotNull( ownVar, "No Query Result") ;
11488 Assert. NotNull( ownVar. Dummy == 4711, "Wrong value") ;
11489 Assert. NotNull( ownVar. RelField, "No related object") ;
11490 ····}
11491 ····[Test]
11492 ····public void TestChangeKeyHolderRightNoTouch()
11493 ····{
11494 ········CreateObjects();
11495 ········QueryOther();
11496 Assert. NotNull( otherVar, "No Query Result") ;
11497 Assert. NotNull( otherVar. RelField, "No related object") ;
11498 ········otherVar.Dummy = 4711;
11499 ········pm.Save();
11500 ········pm.UnloadCache();
11501 ········QueryOther();
11502 Assert. NotNull( otherVar, "No Query Result") ;
11503 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
11504 Assert. NotNull( otherVar. RelField, "No related object") ;
11505 ····}
11506 ····[Test]
11507 ····public void TestRelationHash()
11508 ····{
11509 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBi11TblGuidLeft));
11510 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
11511 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBi11TblGuidRight));
11512 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
11513 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
11514 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
11515 ····}
11516 ····void CreateObjects()
11517 ····{
11518 ········pm.MakePersistent(ownVar);
11519 ········ownVar.AssignRelation(otherVar);
11520 ········pm.Save();
11521 ········pm.UnloadCache();
11522 ····}
11523 ····void QueryOwn()
11524 ····{
11525 ········var q = new NDOQuery<CmpBi11TblGuidLeft>(pm);
11526 ········ownVar = q.ExecuteSingle();
11527 ····}
11528 ····void QueryOther()
11529 ····{
11530 ········var q = new NDOQuery<CmpBi11TblGuidRight>(pm);
11531 ········otherVar = q.ExecuteSingle();
11532 ····}
11533 }
11534
11535
11536 [TestFixture]
11537 public class TestCmpDirnNoTblGuid
11538 {
11539 ····CmpDirnNoTblGuidLeft ownVar;
11540 ····CmpDirnNoTblGuidRight otherVar;
11541 ····PersistenceManager pm;
11542 ····[SetUp]
11543 ····public void Setup()
11544 ····{
11545 ········pm = PmFactory.NewPersistenceManager();
11546 ········ownVar = new CmpDirnNoTblGuidLeft();
11547 ········otherVar = new CmpDirnNoTblGuidRight();
11548 ····}
11549 ····[TearDown]
11550 ····public void TearDown()
11551 ····{
11552 ········try
11553 ········{
11554 ············pm.UnloadCache();
11555 ············var l = pm.Objects<CmpDirnNoTblGuidLeft>().ResultTable;
11556 ············pm.Delete(l);
11557 ············pm.Save();
11558 ············pm.UnloadCache();
11559 ············decimal count;
11560 ············count = (decimal) new NDOQuery<CmpDirnNoTblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11561 Assert. AreEqual( 0, count, "Count wrong #1") ;
11562 ············count = (decimal) new NDOQuery<CmpDirnNoTblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11563 Assert. AreEqual( 0, count, "Count wrong #2") ;
11564 ········}
11565 ········catch (Exception)
11566 ········{
11567 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
11568 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
11569 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
11570 ········}
11571 ····}
11572 ····[Test]
11573 ····public void TestSaveReload()
11574 ····{
11575 ········CreateObjects();
11576 ········QueryOwn();
11577 Assert. NotNull( ownVar, "No Query Result") ;
11578 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
11579 ····}
11580 ····[Test]
11581 ····public void TestSaveReloadNull()
11582 ····{
11583 ········CreateObjects();
11584 ········QueryOwn();
11585 Assert. NotNull( ownVar, "No Query Result") ;
11586 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
11587 ········ownVar.RelField = new List<CmpDirnNoTblGuidRight>();
11588 ········pm.Save();
11589 ········pm.UnloadCache();
11590 ········QueryOwn();
11591 Assert. NotNull( ownVar, "No Query Result") ;
11592 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
11593 ····}
11594 ····[Test]
11595 ····public void TestSaveReloadRemove()
11596 ····{
11597 ········CreateObjects();
11598 ········QueryOwn();
11599 Assert. NotNull( ownVar, "No Query Result") ;
11600 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
11601 ········ownVar.RemoveRelatedObject();
11602 ········pm.Save();
11603 ········pm.UnloadCache();
11604 ········QueryOwn();
11605 Assert. NotNull( ownVar, "No Query Result") ;
11606 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
11607 ····}
11608 ····void CreateObjects()
11609 ····{
11610 ········pm.MakePersistent(ownVar);
11611 ········ownVar.AssignRelation(otherVar);
11612 ········pm.Save();
11613 ········pm.UnloadCache();
11614 ····}
11615 ····void QueryOwn()
11616 ····{
11617 ········var q = new NDOQuery<CmpDirnNoTblGuidLeft>(pm);
11618 ········ownVar = q.ExecuteSingle();
11619 ····}
11620 ····void QueryOther()
11621 ····{
11622 ········var q = new NDOQuery<CmpDirnNoTblGuidRight>(pm);
11623 ········otherVar = q.ExecuteSingle();
11624 ····}
11625 }
11626
11627
11628 [TestFixture]
11629 public class TestCmpDirnTblGuid
11630 {
11631 ····CmpDirnTblGuidLeft ownVar;
11632 ····CmpDirnTblGuidRight otherVar;
11633 ····PersistenceManager pm;
11634 ····[SetUp]
11635 ····public void Setup()
11636 ····{
11637 ········pm = PmFactory.NewPersistenceManager();
11638 ········ownVar = new CmpDirnTblGuidLeft();
11639 ········otherVar = new CmpDirnTblGuidRight();
11640 ····}
11641 ····[TearDown]
11642 ····public void TearDown()
11643 ····{
11644 ········try
11645 ········{
11646 ············pm.UnloadCache();
11647 ············var l = pm.Objects<CmpDirnTblGuidLeft>().ResultTable;
11648 ············pm.Delete(l);
11649 ············pm.Save();
11650 ············pm.UnloadCache();
11651 ············decimal count;
11652 ············count = (decimal) new NDOQuery<CmpDirnTblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11653 Assert. AreEqual( 0, count, "Count wrong #1") ;
11654 ············count = (decimal) new NDOQuery<CmpDirnTblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11655 Assert. AreEqual( 0, count, "Count wrong #2") ;
11656 ········}
11657 ········catch (Exception)
11658 ········{
11659 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
11660 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
11661 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
11662 ············handler.Execute( $"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).Relations.First().MappingTable.TableName}" );
11663 ········}
11664 ····}
11665 ····[Test]
11666 ····public void TestSaveReload()
11667 ····{
11668 ········CreateObjects();
11669 ········QueryOwn();
11670 Assert. NotNull( ownVar, "No Query Result") ;
11671 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
11672 ····}
11673 ····[Test]
11674 ····public void TestSaveReloadNull()
11675 ····{
11676 ········CreateObjects();
11677 ········QueryOwn();
11678 Assert. NotNull( ownVar, "No Query Result") ;
11679 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
11680 ········ownVar.RelField = new List<CmpDirnTblGuidRight>();
11681 ········pm.Save();
11682 ········pm.UnloadCache();
11683 ········QueryOwn();
11684 Assert. NotNull( ownVar, "No Query Result") ;
11685 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
11686 ····}
11687 ····[Test]
11688 ····public void TestSaveReloadRemove()
11689 ····{
11690 ········CreateObjects();
11691 ········QueryOwn();
11692 Assert. NotNull( ownVar, "No Query Result") ;
11693 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
11694 ········ownVar.RemoveRelatedObject();
11695 ········pm.Save();
11696 ········pm.UnloadCache();
11697 ········QueryOwn();
11698 Assert. NotNull( ownVar, "No Query Result") ;
11699 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
11700 ····}
11701 ····void CreateObjects()
11702 ····{
11703 ········pm.MakePersistent(ownVar);
11704 ········ownVar.AssignRelation(otherVar);
11705 ········pm.Save();
11706 ········pm.UnloadCache();
11707 ····}
11708 ····void QueryOwn()
11709 ····{
11710 ········var q = new NDOQuery<CmpDirnTblGuidLeft>(pm);
11711 ········ownVar = q.ExecuteSingle();
11712 ····}
11713 ····void QueryOther()
11714 ····{
11715 ········var q = new NDOQuery<CmpDirnTblGuidRight>(pm);
11716 ········otherVar = q.ExecuteSingle();
11717 ····}
11718 }
11719
11720
11721 [TestFixture]
11722 public class TestCmpBin1NoTblGuid
11723 {
11724 ····CmpBin1NoTblGuidLeft ownVar;
11725 ····CmpBin1NoTblGuidRight otherVar;
11726 ····PersistenceManager pm;
11727 ····[SetUp]
11728 ····public void Setup()
11729 ····{
11730 ········pm = PmFactory.NewPersistenceManager();
11731 ········ownVar = new CmpBin1NoTblGuidLeft();
11732 ········otherVar = new CmpBin1NoTblGuidRight();
11733 ····}
11734 ····[TearDown]
11735 ····public void TearDown()
11736 ····{
11737 ········try
11738 ········{
11739 ············pm.UnloadCache();
11740 ············var l = pm.Objects<CmpBin1NoTblGuidLeft>().ResultTable;
11741 ············pm.Delete(l);
11742 ············pm.Save();
11743 ············pm.UnloadCache();
11744 ············decimal count;
11745 ············count = (decimal) new NDOQuery<CmpBin1NoTblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11746 Assert. AreEqual( 0, count, "Count wrong #1") ;
11747 ············count = (decimal) new NDOQuery<CmpBin1NoTblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11748 Assert. AreEqual( 0, count, "Count wrong #2") ;
11749 ········}
11750 ········catch (Exception)
11751 ········{
11752 ············var handler = pm.GetSqlPassThroughHandler( pm.NDOMapping.Connections.First() );
11753 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( ownVar.GetType() ).TableName}");
11754 ············handler.Execute($"DELETE FROM {pm.NDOMapping.FindClass( otherVar.GetType() ).TableName}");
11755 ········}
11756 ····}
11757 ····[Test]
11758 ····public void TestSaveReload()
11759 ····{
11760 ········CreateObjects();
11761 ········QueryOwn();
11762 Assert. NotNull( ownVar, "No Query Result") ;
11763 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
11764 ····}
11765 ····[Test]
11766 ····public void TestSaveReloadNull()
11767 ····{
11768 ········CreateObjects();
11769 ········QueryOwn();
11770 Assert. NotNull( ownVar, "No Query Result") ;
11771 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
11772 ········ownVar.RelField = new List<CmpBin1NoTblGuidRight>();
11773 ········pm.Save();
11774 ········pm.UnloadCache();
11775 ········QueryOwn();
11776 Assert. NotNull( ownVar, "No Query Result") ;
11777 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
11778 ····}
11779 ····[Test]
11780 ····public void TestSaveReloadRemove()
11781 ····{
11782 ········CreateObjects();
11783 ········QueryOwn();
11784 Assert. NotNull( ownVar, "No Query Result") ;
11785 Assert. AreEqual( 1, ownVar. RelField. Count, "Count wrong") ;
11786 ········ownVar.RemoveRelatedObject();
11787 ········pm.Save();
11788 ········pm.UnloadCache();
11789 ········QueryOwn();
11790 Assert. NotNull( ownVar, "No Query Result") ;
11791 Assert. AreEqual( 0, ownVar. RelField. Count, "Count wrong") ;
11792 ····}
11793 ····[Test]
11794 ····public void TestChangeKeyHolderRight()
11795 ····{
11796 ········CreateObjects();
11797 ········QueryOther();
11798 Assert. NotNull( otherVar, "No Query Result") ;
11799 Assert. NotNull( otherVar. RelField, "No related object") ;
11800 ········int x = otherVar.RelField.Dummy;
11801 ········otherVar.Dummy = 4711;
11802 ········pm.Save();
11803 ········pm.UnloadCache();
11804 ········QueryOther();
11805 Assert. NotNull( otherVar, "No Query Result") ;
11806 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
11807 Assert. NotNull( otherVar. RelField, "No related object") ;
11808 ····}
11809 ····[Test]
11810 ····public void TestChangeKeyHolderRightNoTouch()
11811 ····{
11812 ········CreateObjects();
11813 ········QueryOther();
11814 Assert. NotNull( otherVar, "No Query Result") ;
11815 Assert. NotNull( otherVar. RelField, "No related object") ;
11816 ········otherVar.Dummy = 4711;
11817 ········pm.Save();
11818 ········pm.UnloadCache();
11819 ········QueryOther();
11820 Assert. NotNull( otherVar, "No Query Result") ;
11821 Assert. NotNull( otherVar. Dummy == 4711, "Wrong value") ;
11822 Assert. NotNull( otherVar. RelField, "No related object") ;
11823 ····}
11824 ····[Test]
11825 ····public void TestRelationHash()
11826 ····{
11827 ········Class clbaseLeft = pm.NDOMapping.FindClass(typeof(CmpBin1NoTblGuidLeft));
11828 ········Relation relbaseLeft = clbaseLeft.FindRelation("relField");
11829 ········Class clbaseRight = pm.NDOMapping.FindClass(typeof(CmpBin1NoTblGuidRight));
11830 ········Relation relbaseRight = clbaseRight.FindRelation("relField");
11831 ········Assert.That(relbaseRight.Equals(relbaseLeft), "Relation should be equal #1");
11832 ········Assert.That(relbaseLeft.Equals(relbaseRight), "Relation should be equal #2");
11833 ····}
11834 ····void CreateObjects()
11835 ····{
11836 ········pm.MakePersistent(ownVar);
11837 ········ownVar.AssignRelation(otherVar);
11838 ········pm.Save();
11839 ········pm.UnloadCache();
11840 ····}
11841 ····void QueryOwn()
11842 ····{
11843 ········var q = new NDOQuery<CmpBin1NoTblGuidLeft>(pm);
11844 ········ownVar = q.ExecuteSingle();
11845 ····}
11846 ····void QueryOther()
11847 ····{
11848 ········var q = new NDOQuery<CmpBin1NoTblGuidRight>(pm);
11849 ········otherVar = q.ExecuteSingle();
11850 ····}
11851 }
11852
11853
11854 [TestFixture]
11855 public class TestCmpBin1TblGuid
11856 {
11857 ····CmpBin1TblGuidLeft ownVar;
11858 ····CmpBin1TblGuidRight otherVar;
11859 ····PersistenceManager pm;
11860 ····[SetUp]
11861 ····public void Setup()
11862 ····{
11863 ········pm = PmFactory.NewPersistenceManager();
11864 ········ownVar = new CmpBin1TblGuidLeft();
11865 ········otherVar = new CmpBin1TblGuidRight();
11866 ····}
11867 ····[TearDown]
11868 ····public void TearDown()
11869 ····{
11870 ········try
11871 ········{
11872 ············pm.UnloadCache();
11873 ············var l = pm.Objects<CmpBin1TblGuidLeft>().ResultTable;
11874 ············pm.Delete(l);
11875 ············pm.Save();
11876 ············pm.UnloadCache();
11877 ············decimal count;
11878 ············count = (decimal) new NDOQuery<CmpBin1TblGuidLeft>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11879 Assert. AreEqual( 0, count, "Count wrong #1") ;
11880 ············count = (decimal) new NDOQuery<CmpBin1TblGuidRight>(pm).ExecuteAggregate("dummy", AggregateType.Count);
11881 Assert. AreEqual( 0, count, "Count wrong #2") ;
11882 ········}
11883