annotate UnitTests/CS/DataAccess/ScalarTest.cs @ 9:1e85f66cf767 default tip

update bltoolkit
author nickolay
date Thu, 05 Apr 2018 20:53:26 +0300
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 using System.IO;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using System.Xml;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 using BLToolkit.Data;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 using BLToolkit.DataAccess;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 using BLToolkit.Reflection;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 namespace DataAccess
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 [TestFixture]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 public class ScalarTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 public enum TestEnum
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 Null = 0,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 Value = 12345,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 public abstract class TestAccessor : DataAccessor
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 [ActionName("Scalar_DataReader")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 public abstract int Scalar_Regression(DbManager db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 [ScalarSource(ScalarSourceType.DataReader)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 public abstract int Scalar_DataReader(DbManager db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 [ActionName("Scalar_DataReader")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 [ScalarSource(ScalarSourceType.DataReader, 1)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 public abstract string Scalar_DataReader2(DbManager db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 [ActionName("Scalar_DataReader")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 [ScalarSource(ScalarSourceType.DataReader, "stringField")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 public abstract string Scalar_DataReader3(DbManager db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 [ActionName("Scalar_OutputParameter")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 public abstract void Scalar_OutputParameterRegression(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 DbManager db, out int outputInt, out string outputString);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 [ScalarSource(ScalarSourceType.OutputParameter)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 public abstract int Scalar_OutputParameter(DbManager db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 [ActionName("Scalar_OutputParameter")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 [ScalarSource(ScalarSourceType.OutputParameter, 1)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 public abstract string Scalar_OutputParameter2(DbManager db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 [ActionName("Scalar_OutputParameter")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 [ScalarSource(ScalarSourceType.OutputParameter, "outputString")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 public abstract string Scalar_OutputParameter3(DbManager db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 [ScalarSource(ScalarSourceType.ReturnValue)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 public abstract int Scalar_ReturnParameter(DbManager db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 [ActionName("Scalar_DataReader")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 [ScalarSource(ScalarSourceType.AffectedRows)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 public abstract int Scalar_AffectedRows(DbManager db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 [TestQuery(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 SqlText = "SELECT Stream_ FROM DataTypeTest WHERE DataTypeID = @id",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 OracleText = "SELECT Stream_ FROM DataTypeTest WHERE DataTypeID = :id")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 public abstract Stream GetStream(DbManager db, int id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 [TestQuery(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 SqlText = "SELECT Xml_ FROM DataTypeTest WHERE DataTypeID = @id",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 OracleText = "SELECT Xml_ FROM DataTypeTest WHERE DataTypeID = :id")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 public abstract XmlReader GetXml(DbManager db, int id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 [TestQuery(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 SqlText = "SELECT Xml_ FROM DataTypeTest WHERE DataTypeID = @id",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 OracleText = "SELECT Xml_ FROM DataTypeTest WHERE DataTypeID = :id")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 public abstract XmlDocument GetXmlDoc(DbManager db, int id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 [SprocName("Scalar_DataReader")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 public abstract int ScalarDestination1([Destination] out int id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 [SprocName("Scalar_DataReader")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 public abstract void ScalarDestination2([Destination] out int id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 [SprocName("Scalar_DataReader")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 public abstract object ScalarDestination3([Destination] out int id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 [SprocName("Scalar_DataReader")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 public abstract int ScalarDestination4([Destination] ref int id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87 [SprocName("Scalar_DataReader")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88 public abstract void ScalarDestination5([Destination] ref int id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90 [SprocName("Scalar_DataReader")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91 public abstract object ScalarDestination6([Destination] ref int id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93 [SprocName("Scalar_DataReader")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94 public abstract int? ScalarNullableDestination([Destination] ref int? id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96 [SprocName("Scalar_DataReader")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97 public abstract TestEnum ScalarEnumDestination([Destination] ref TestEnum value);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
99 [SprocName("Scalar_DataReader")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
100 public abstract TestEnum? ScalarNullableEnumDestination([Destination] ref TestEnum? value);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
101
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
102 public static TestAccessor CreateInstance()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
103 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
104 return (TestAccessor)CreateInstance(typeof(TestAccessor));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
105 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
106 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
107
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
108 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
109 public void RegressionTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
110 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
111 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
112 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
113 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
114
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
115 int expectedValue = 12345;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
116 int actualValue = ta.Scalar_Regression(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
117
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
118 Assert.AreEqual(expectedValue, actualValue);
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 DataReaderTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
124 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
125 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
126 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
127 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
128
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
129 int expectedValue = 12345;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
130 int actualValue = ta.Scalar_DataReader(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
131
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
132 Assert.AreEqual(expectedValue, actualValue);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
133 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
134 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
135
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
136 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
137 public void DataReader2Test()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
138 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
139 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
140 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
141 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
142
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
143 string expectedValue = "54321";
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
144 string actualValue = ta.Scalar_DataReader2(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
145
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
146 Assert.AreEqual(expectedValue, actualValue);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
147 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
148 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
149
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
150 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
151 public void DataReader3Test()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
152 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
153 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
154 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
155 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
156
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
157 string expectedValue = "54321";
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
158 string actualValue = ta.Scalar_DataReader3(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
159
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
160 Assert.AreEqual(expectedValue, actualValue);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
161 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
162 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
163
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
164 #if !ACCESS && !SQLITE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
165 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
166 public void OutputParameterRegressionTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
167 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
168 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
169 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
170 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
171
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
172 int expectedIntValue = 12345;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
173 int actualIntValue;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
174 string expectedStringValue = "54321";
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
175 string actualStringValue;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
176
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
177 ta.Scalar_OutputParameterRegression(db,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
178 out actualIntValue, out actualStringValue);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
179
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
180 Assert.AreEqual(expectedIntValue, actualIntValue);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
181 Assert.AreEqual(expectedStringValue, actualStringValue);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
182 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
183 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
184
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
185 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
186 public void OutputParameterTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
187 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
188 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
189 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
190 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
191
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
192 int expectedValue = 12345;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
193 int actualValue = ta.Scalar_OutputParameter(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
194
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
195 Assert.AreEqual(expectedValue, actualValue);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
196 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
197 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
198
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
199 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
200 public void OutputParameter2Test()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
201 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
202 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
203 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
204 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
205
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
206 string expectedValue = "54321";
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
207 string actualValue = ta.Scalar_OutputParameter2(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
208
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
209 Assert.AreEqual(expectedValue, actualValue);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
210 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
211 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
212
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
213 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
214 public void OutputParameter3Test()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
215 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
216 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
217 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
218 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
219
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
220 string expectedValue = "54321";
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
221 string actualValue = ta.Scalar_OutputParameter3(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
222
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
223 Assert.AreEqual(expectedValue, actualValue);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
224 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
225 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
226
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
227 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
228 public void ReturnParameterTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
229 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
230 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
231 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
232 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
233
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
234 int expectedValue = 12345;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
235 int actualValue = ta.Scalar_ReturnParameter(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
236
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
237 Assert.AreEqual(expectedValue, actualValue);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
238 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
239 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
240 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
241
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
242 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
243 public void AffectedRowsTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
244 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
245 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
246 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
247 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
248
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
249 #if ACCESS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
250 int expectedValue = 0;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
251 #else
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
252 int expectedValue = -1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
253 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
254 int actualValue = ta.Scalar_AffectedRows(db);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
255
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
256 Assert.AreEqual(expectedValue, actualValue);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
257 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
258 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
259
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
260 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
261 public void StreamTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
262 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
263 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
264 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
265 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
266
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
267 Stream s = ta.GetStream(db, 2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
268 Byte[] bytes = new byte[16];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
269
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
270 Assert.IsNotNull(s);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
271 Assert.AreEqual(s.Length, bytes.Length);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
272
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
273 Assert.AreEqual(s.Read(bytes, 0, bytes.Length), bytes.Length);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
274 TypeAccessor.WriteConsole(bytes);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
275 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
276 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
277
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
278 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
279 public void ScalarDestinationTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
280 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
281 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
282
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
283 int id1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
284 int id2;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
285
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
286 id1 = ta.ScalarDestination1(out id2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
287 Assert.AreEqual(id1, 12345);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
288 Assert.AreEqual(id2, 12345);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
289
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
290 ta.ScalarDestination2(out id2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
291 Assert.AreEqual(id2, 12345);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
292
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
293 id1 = (int)ta.ScalarDestination3(out id2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
294 Assert.AreEqual(id1, 12345);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
295 Assert.AreEqual(id2, 12345);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
296
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
297 id2 = 0;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
298 id1 = ta.ScalarDestination4(ref id2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
299 Assert.AreEqual(id1, 12345);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
300 Assert.AreEqual(id2, 12345);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
301
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
302 id2 = 0;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
303 ta.ScalarDestination5(ref id2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
304 Assert.AreEqual(id2, 12345);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
305
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
306 id2 = 0;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
307 id1 = (int)ta.ScalarDestination6(ref id2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
308 Assert.AreEqual(id1, 12345);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
309 Assert.AreEqual(id2, 12345);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
310 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
311
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
312 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
313 public void XmlTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
314 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
315 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
316 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
317 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
318
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
319 XmlReader xml = ta.GetXml(db, 2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
320 xml.MoveToContent();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
321 Assert.IsTrue(xml.ReadToDescendant("element"));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
322 Assert.AreEqual("strvalue", xml.GetAttribute("strattr"));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
323 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
324 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
325
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
326 public void XmlDocTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
327 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
328 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
329 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
330 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
331
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
332 XmlDocument xmlDocument= ta.GetXmlDoc(db, 2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
333 Assert.IsNotNull(xmlDocument);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
334 Assert.IsNotNull(xmlDocument.DocumentElement);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
335 Assert.AreEqual("strvalue", xmlDocument.DocumentElement.GetAttribute("strattr"));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
336 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
337 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
338
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
339 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
340 public void ScalarNullableDestinationTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
341 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
342 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
343
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
344 int? id1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
345 int? id2 = -1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
346 id1 = ta.ScalarNullableDestination(ref id2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
347 Assert.AreEqual(id1, id2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
348 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
349
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
350 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
351 public void ScalarEnumDestinationTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
352 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
353 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
354
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
355 TestEnum refVal = TestEnum.Null;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
356 TestEnum outVal = ta.ScalarEnumDestination(ref refVal);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
357 Assert.That(outVal, Is.EqualTo(TestEnum.Value));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
358 Assert.That(refVal, Is.EqualTo(TestEnum.Value));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
359 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
360
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
361 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
362 public void ScalarNullableEnumDestinationTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
363 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
364 TestAccessor ta = TestAccessor.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
365
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
366 TestEnum? refVal = null;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
367 TestEnum? outVal = ta.ScalarNullableEnumDestination(ref refVal);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
368 Assert.That(outVal, Is.EqualTo(TestEnum.Value));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
369 Assert.That(refVal, Is.EqualTo(TestEnum.Value));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
370 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
371 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
372 }