annotate UnitTests/CS/Mapping/ISupportMappingTest.cs @ 3:1ef98bd70424

!bug 100 +3h Исправление проблемы BLToolkit + mono 3.4
author cin
date Fri, 22 Aug 2014 17:34:46 +0400
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using BLToolkit.Mapping;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 using BLToolkit.Reflection;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 using BLToolkit.TypeBuilder;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 namespace Mapping
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 [TestFixture, Category("Mapping")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 public class ISupportMappingTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 public class SourceObject
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 public int Int1 = 10;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 public int Int2 = 20;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 public int Int3 = 30;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 public class Object1 : ISupportMapping
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 public Object1(InitContext initContext)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 if (initContext != null)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 Int11 = (int)initContext.Parameters[0];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 if (Int11 == 77)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 initContext.StopMapping = true;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 public int Int11;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 public int Int22;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 public int Int3;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 public int Int44;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 public void BeginMapping(InitContext initContext)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 Int22 = (int)initContext.Parameters[1];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 if (Int22 == 66)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 initContext.StopMapping = true;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 public void EndMapping(InitContext initContext)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 Int44 = (int)initContext.Parameters[2];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 public void Test1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 Object1 o = (Object1)Map.ObjectToObject(new SourceObject(), typeof(Object1), 11, 22, 44);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 Assert.AreEqual(11, o.Int11);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 Assert.AreEqual(22, o.Int22);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 Assert.AreEqual(30, o.Int3);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 Assert.AreEqual(44, o.Int44);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 public void Test2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 Object1 o = new Object1(null);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 Map.ObjectToObject(new SourceObject(), o, 11, 22, 44);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 Assert.AreEqual(0, o.Int11);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 Assert.AreEqual(22, o.Int22);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 Assert.AreEqual(30, o.Int3);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 Assert.AreEqual(44, o.Int44);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 public void Test3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 Object1 o = (Object1)Map.ObjectToObject(new SourceObject(), typeof(Object1), 77, 66, 44);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80 Assert.AreEqual(77, o.Int11);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 Assert.AreEqual(0, o.Int22);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 Assert.AreEqual(0, o.Int3);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 Assert.AreEqual(0, o.Int44);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87 public void Test4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89 Object1 o = (Object1)Map.ObjectToObject(new SourceObject(), typeof(Object1), 11, 66, 44);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91 Assert.AreEqual(11, o.Int11);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92 Assert.AreEqual(66, o.Int22);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93 Assert.AreEqual(0, o.Int3);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94 Assert.AreEqual(0, o.Int44);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97 public abstract class Object5 : ISupportMapping
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
99 public Object5(InitContext initContext)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
100 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
101 Int11 = (int)initContext.Parameters[0];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
102 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
103
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
104 [Parameter(77)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
105 public abstract int Int00 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
106 public abstract int Int11 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
107 public abstract int Int22 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
108 public abstract short Int3 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
109 public abstract int Int44 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
110
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
111 public void BeginMapping(InitContext initContext)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
112 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
113 Int22 = (int)initContext.Parameters[1];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
114 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
115
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
116 public void EndMapping(InitContext initContext)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
117 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
118 Int44 = (int)initContext.Parameters[2];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
119 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
120 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
121
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
122 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
123 public void Test5()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
124 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
125 Object5 o = (Object5)Map.ObjectToObject(new SourceObject(), typeof(Object5), 11, 22, 44);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
126
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
127 Assert.AreEqual(77, o.Int00);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
128 Assert.AreEqual(11, o.Int11);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
129 Assert.AreEqual(22, o.Int22);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
130 Assert.AreEqual(30, o.Int3);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
131 Assert.AreEqual(44, o.Int44);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
132 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
133 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
134 }