annotate UnitTests/Linq/EnumMapping.cs @ 5:f7d63a092920

Исправлено условие Where в тех случаях, когда репозитарий не является генериком
author cin
date Tue, 10 Mar 2015 16:02:11 +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.Collections.Generic;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using System.Linq;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 using System.Linq.Expressions;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using BLToolkit.Data.DataProvider;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 using BLToolkit.Data.Linq;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 using BLToolkit.DataAccess;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 using BLToolkit.Mapping;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 namespace Data.Linq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 [TestFixture, Category("MapValue")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 public class EnumMapping : TestBase
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 enum TestEnum1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 [MapValue(11L)] Value1 = 3,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 [MapValue(12L)] Value2,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 enum TestEnum2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 Value1 = 3,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 Value2,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 enum TestEnum3
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 Value1 = 3,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 Value2,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 [TableName("LinqDataTypes")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 class TestTable1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 [PrimaryKey, MapField("ID")] public int Id;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 [MapField("BigIntValue")] public TestEnum1 TestField;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 [MapValue(TestEnum2.Value2, 12L)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 [TableName("LinqDataTypes")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 class TestTable2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 [PrimaryKey, MapField("ID")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 public int Id;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 [MapValue(TestEnum2.Value1, 11L)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 [MapField("BigIntValue")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 public TestEnum2 TestField;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 [MapField("IntValue")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 public TestEnum3 Int32Field;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 [TableName("LinqDataTypes")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 class NullableTestTable1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 [PrimaryKey, MapField("ID")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 public int? Id;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 [MapField("BigIntValue")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 public TestEnum1? TestField;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 [MapValue(TestEnum2.Value2, 12L)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 [TableName("LinqDataTypes")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 class NullableTestTable2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 [PrimaryKey, MapField("ID")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 public int? Id;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 [MapValue(TestEnum2.Value1, 11L)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 [MapField("BigIntValue")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 public TestEnum2? TestField;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 [MapField("IntValue")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 public TestEnum3? Int32Field;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 [TableName("LinqDataTypes")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80 class RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 [PrimaryKey, MapField("ID")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 public int Id;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 [MapField("BigIntValue")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 public long TestField;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88 [MapField("IntValue")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89 public int Int32Field;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92 class Cleaner : IDisposable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94 readonly ITestDataContext _db;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96 public Cleaner(ITestDataContext db)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98 _db = db;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
99 Clean();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
100 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
101
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
102 private void Clean()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
103 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
104 _db.GetTable<RawTable>().Where(r => r.Id == RID).Delete();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
105 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
106
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
107 public void Dispose()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
108 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
109 try
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
110 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
111 // rollback emulation for WCF
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
112 Clean();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
113 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
114 catch (Exception)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
115 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
116 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
117 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
118 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
119
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
120 const long VAL2 = 12;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
121 const long VAL1 = 11;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
122 const int RID = 101;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
123
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
124 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
125 public void EnumMapInsert1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
126 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
127 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
128 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
129 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
130 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
131 db.GetTable<TestTable1>().Insert(() => new TestTable1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
132 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
133 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
134 TestField = TestEnum1.Value2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
135 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
136
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
137 Assert.AreEqual(1, db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL2).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
138 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
139 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
140 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
141
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
142 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
143 public void EnumMapInsert2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
144 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
145 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
146 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
147 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
148 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
149 db.GetTable<TestTable2>().Insert(() => new TestTable2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
150 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
151 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
152 TestField = TestEnum2.Value2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
153 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
154
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
155 Assert.AreEqual(1, db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL2).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
156 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
157 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
158 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
159
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
160 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
161 public void EnumMapInsert3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
162 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
163 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
164 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
165 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
166 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
167 db.GetTable<NullableTestTable1>().Insert(() => new NullableTestTable1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
168 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
169 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
170 TestField = TestEnum1.Value2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
171 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
172
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
173 Assert.AreEqual(1, db.GetTable<RawTable>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
174 .Where(r => r.Id == RID && r.TestField == VAL2).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
175 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
176 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
177 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
178
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
179 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
180 public void EnumMapInsert4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
181 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
182 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
183 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
184 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
185 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
186 db.GetTable<NullableTestTable2>().Insert(() => new NullableTestTable2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
187 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
188 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
189 TestField = TestEnum2.Value2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
190 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
191
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
192 Assert.AreEqual(1, db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL2).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
193 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
194 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
195 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
196
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
197 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
198 public void EnumMapWhere1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
199 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
200 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
201 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
202 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
203 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
204 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
205 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
206 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
207 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
208 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
209
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
210 var result = db.GetTable<TestTable1>().Where(r => r.Id == RID && r.TestField == TestEnum1.Value2).Select(r => r.TestField).FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
211 Assert.True(result == TestEnum1.Value2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
212 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
213 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
214 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
215
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
216 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
217 public void EnumMapWhere2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
218 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
219 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
220 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
221 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
222 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
223 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
224 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
225 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
226 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
227 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
228
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
229 var result = db.GetTable<TestTable2>().Where(r => r.Id == RID && r.TestField == TestEnum2.Value2).Select(r => r.TestField).FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
230 Assert.True(result == TestEnum2.Value2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
231 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
232 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
233 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
234
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
235 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
236 public void EnumMapWhere3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
237 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
238 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
239 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
240 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
241 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
242 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
243 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
244 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
245 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
246 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
247
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
248 var result = db.GetTable<NullableTestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
249 .Where(r => r.Id == RID && r.TestField == TestEnum1.Value2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
250 .Select(r => r.TestField).FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
251 Assert.True(result == TestEnum1.Value2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
252 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
253 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
254 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
255
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
256 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
257 public void EnumMapWhere4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
258 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
259 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
260 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
261 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
262 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
263 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
264 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
265 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
266 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
267 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
268
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
269 var result = db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
270 .Where(r => r.Id == RID && r.TestField == TestEnum2.Value2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
271 .Select(r => r.TestField).FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
272 Assert.True(result == TestEnum2.Value2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
273 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
274 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
275 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
276
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
277 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
278 public void EnumMapUpdate1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
279 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
280 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
281 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
282 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
283 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
284 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
285 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
286 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
287 TestField = VAL1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
288 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
289
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
290 db.GetTable<TestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
291 .Where(r => r.Id == RID && r.TestField == TestEnum1.Value1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
292 .Update(r => new TestTable1 { TestField = TestEnum1.Value2 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
293
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
294 var result = db.GetTable<RawTable>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
295 .Where(r => r.Id == RID && r.TestField == VAL2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
296 .Select(r => r.TestField)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
297 .FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
298
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
299 Assert.True(result == VAL2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
300 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
301 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
302 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
303
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
304 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
305 public void EnumMapUpdate2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
306 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
307 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
308 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
309 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
310 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
311 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
312 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
313 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
314 TestField = VAL1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
315 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
316
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
317 db.GetTable<TestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
318 .Where(r => r.Id == RID && r.TestField == TestEnum2.Value1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
319 .Update(r => new TestTable2 { TestField = TestEnum2.Value2 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
320
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
321 var result = db.GetTable<RawTable>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
322 .Where(r => r.Id == RID && r.TestField == VAL2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
323 .Select(r => r.TestField)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
324 .FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
325
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
326 Assert.True(result == VAL2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
327 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
328 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
329 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
330
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
331 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
332 public void EnumMapUpdate3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
333 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
334 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
335 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
336 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
337 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
338 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
339 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
340 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
341 TestField = VAL1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
342 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
343
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
344 db.GetTable<NullableTestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
345 .Where(r => r.Id == RID && r.TestField == TestEnum1.Value1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
346 .Update(r => new NullableTestTable1 { TestField = TestEnum1.Value2 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
347
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
348 var result = db.GetTable<RawTable>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
349 .Where(r => r.Id == RID && r.TestField == VAL2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
350 .Select(r => r.TestField)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
351 .FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
352
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
353 Assert.True(result == VAL2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
354 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
355 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
356 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
357
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
358 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
359 public void EnumMapUpdate4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
360 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
361 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
362 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
363 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
364 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
365 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
366 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
367 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
368 TestField = VAL1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
369 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
370
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
371 db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
372 .Where(r => r.Id == RID && r.TestField == TestEnum2.Value1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
373 .Update(r => new NullableTestTable2 { TestField = TestEnum2.Value2 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
374
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
375 var result = db.GetTable<RawTable>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
376 .Where(r => r.Id == RID && r.TestField == VAL2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
377 .Select(r => r.TestField)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
378 .FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
379
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
380 Assert.True(result == VAL2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
381 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
382 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
383 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
384
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
385 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
386 public void EnumMapSelectAnon1([DataContexts] string context)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
387 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
388 using (var db = GetDataContext(context))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
389 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
390 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
391 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
392 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
393 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
394 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
395 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
396 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
397
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
398 var result = db.GetTable<TestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
399 .Where(r => r.Id == RID && r.TestField == TestEnum1.Value2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
400 .Select(r => new { r.TestField })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
401 .FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
402
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
403 Assert.NotNull(result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
404 Assert.That(result.TestField, Is.EqualTo(TestEnum1.Value2));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
405 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
406 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
407 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
408
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
409 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
410 public void EnumMapSelectAnon2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
411 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
412 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
413 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
414 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
415 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
416 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
417 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
418 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
419 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
420 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
421
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
422 var result = db.GetTable<TestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
423 .Where(r => r.Id == RID && r.TestField == TestEnum2.Value2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
424 .Select(r => new { r.TestField })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
425 .FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
426
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
427 Assert.NotNull(result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
428 Assert.True(result.TestField == TestEnum2.Value2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
429 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
430 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
431 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
432
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
433 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
434 public void EnumMapSelectAnon3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
435 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
436 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
437 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
438 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
439 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
440 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
441 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
442 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
443 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
444 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
445
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
446 var result = db.GetTable<NullableTestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
447 .Where(r => r.Id == RID && r.TestField == TestEnum1.Value2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
448 .Select(r => new { r.TestField })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
449 .FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
450
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
451 Assert.NotNull(result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
452 Assert.True(result.TestField == TestEnum1.Value2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
453 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
454 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
455 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
456
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
457 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
458 public void EnumMapSelectAnon4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
459 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
460 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
461 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
462 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
463 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
464 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
465 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
466 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
467 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
468 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
469
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
470 var result = db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
471 .Where(r => r.Id == RID && r.TestField == TestEnum2.Value2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
472 .Select(r => new { r.TestField })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
473 .FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
474
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
475 Assert.NotNull(result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
476 Assert.True(result.TestField == TestEnum2.Value2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
477 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
478 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
479 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
480
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
481 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
482 public void EnumMapDelete1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
483 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
484 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
485 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
486 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
487 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
488 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
489 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
490 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
491 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
492 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
493
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
494 Assert.True(1 == db.GetTable<TestTable1>().Delete(r => r.Id == RID && r.TestField == TestEnum1.Value2));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
495 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
496 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
497 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
498
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
499 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
500 public void EnumMapDelete2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
501 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
502 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
503 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
504 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
505 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
506 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
507 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
508 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
509 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
510 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
511
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
512 Assert.True(1 == db.GetTable<TestTable2>().Delete(r => r.Id == RID && r.TestField == TestEnum2.Value2));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
513 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
514 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
515 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
516
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
517 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
518 public void EnumMapDelete3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
519 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
520 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
521 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
522 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
523 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
524 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
525 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
526 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
527 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
528 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
529
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
530 Assert.True(1 == db.GetTable<NullableTestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
531 .Delete(r => r.Id == RID && r.TestField == TestEnum1.Value2));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
532 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
533 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
534 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
535
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
536 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
537 public void EnumMapDelete4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
538 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
539 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
540 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
541 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
542 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
543 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
544 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
545 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
546 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
547 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
548
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
549 Assert.True(1 == db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
550 .Delete(r => r.Id == RID && r.TestField == TestEnum2.Value2));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
551 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
552 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
553 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
554
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
555 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
556 public void EnumMapSet1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
557 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
558 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
559 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
560 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
561 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
562 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
563 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
564 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
565 TestField = VAL1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
566 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
567
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
568 db.GetTable<TestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
569 .Where(r => r.Id == RID && r.TestField == TestEnum1.Value1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
570 .Set(r => r.TestField, TestEnum1.Value2).Update();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
571 var result = db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL2).Select(r => r.TestField).FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
572 Assert.True(result == VAL2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
573 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
574 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
575 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
576
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
577 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
578 public void EnumMapSet2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
579 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
580 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
581 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
582 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
583 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
584 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
585 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
586 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
587 TestField = VAL1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
588 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
589
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
590 db.GetTable<TestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
591 .Where(r => r.Id == RID && r.TestField == TestEnum2.Value1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
592 .Set(r => r.TestField, TestEnum2.Value2).Update();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
593 var result = db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL2).Select(r => r.TestField).FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
594 Assert.True(result == VAL2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
595 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
596 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
597 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
598
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
599 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
600 public void EnumMapSet3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
601 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
602 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
603 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
604 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
605 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
606 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
607 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
608 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
609 Int32Field = 3
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
610 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
611
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
612 db.GetTable<TestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
613 .Where(r => r.Id == RID && r.Int32Field == TestEnum3.Value1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
614 .Set(r => r.Int32Field, () => TestEnum3.Value2).Update();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
615 Assert.True(1 == db.GetTable<RawTable>().Where(r => r.Id == RID && r.Int32Field == 4).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
616 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
617 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
618 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
619
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
620 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
621 public void EnumMapSet4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
622 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
623 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
624 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
625 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
626 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
627 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
628 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
629 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
630 TestField = VAL1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
631 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
632
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
633 db.GetTable<NullableTestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
634 .Where(r => r.Id == RID && r.TestField == TestEnum1.Value1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
635 .Set(r => r.TestField, TestEnum1.Value2).Update();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
636 var result = db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL2).Select(r => r.TestField).FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
637 Assert.True(result == VAL2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
638 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
639 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
640 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
641
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
642 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
643 public void EnumMapSet5()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
644 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
645 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
646 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
647 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
648 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
649 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
650 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
651 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
652 TestField = VAL1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
653 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
654
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
655 db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
656 .Where(r => r.Id == RID && r.TestField == TestEnum2.Value1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
657 .Set(r => r.TestField, TestEnum2.Value2).Update();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
658 var result = db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL2).Select(r => r.TestField).FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
659 Assert.True(result == VAL2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
660 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
661 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
662 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
663
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
664 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
665 public void EnumMapSet6()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
666 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
667 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
668 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
669 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
670 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
671 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
672 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
673 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
674 Int32Field = 3
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
675 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
676
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
677 db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
678 .Where(r => r.Id == RID && r.Int32Field == TestEnum3.Value1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
679 .Set(r => r.Int32Field, () => TestEnum3.Value2).Update();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
680 Assert.True(1 == db.GetTable<RawTable>().Where(r => r.Id == RID && r.Int32Field == 4).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
681 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
682 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
683 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
684
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
685 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
686 public void EnumMapContains1([DataContexts] string context)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
687 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
688 using (var db = GetDataContext(context))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
689 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
690 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
691 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
692 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
693 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
694 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
695 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
696 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
697
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
698 Assert.True(1 == db.GetTable<TestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
699 .Where(r => r.Id == RID && new[] { TestEnum1.Value2 }.Contains(r.TestField)).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
700 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
701 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
702 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
703
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
704 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
705 public void EnumMapContains2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
706 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
707 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
708 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
709 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
710 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
711 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
712 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
713 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
714 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
715 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
716
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
717 Assert.That(db.GetTable<TestTable2>().Where(r => r.Id == RID && new[] { TestEnum2.Value2 }.Contains(r.TestField)).Count(), Is.EqualTo(1));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
718 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
719 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
720 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
721
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
722 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
723 public void EnumMapContains3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
724 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
725 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
726 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
727 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
728 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
729 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
730 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
731 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
732 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
733 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
734
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
735 Assert.True(1 == db.GetTable<NullableTestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
736 .Where(r => r.Id == RID && new[] { (TestEnum1?)TestEnum1.Value2 }.Contains(r.TestField)).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
737 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
738 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
739 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
740
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
741 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
742 public void EnumMapContains4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
743 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
744 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
745 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
746 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
747 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
748 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
749 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
750 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
751 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
752 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
753
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
754 Assert.True(1 == db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
755 .Where(r => r.Id == RID && new[] { (TestEnum2?)TestEnum2.Value2 }.Contains(r.TestField)).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
756 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
757 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
758 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
759
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
760 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
761 public void EnumMapSelectNull1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
762 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
763 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
764 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
765 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
766 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
767 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
768 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
769 Id = RID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
770 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
771
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
772 var result = db.GetTable<NullableTestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
773 .Where(r => r.Id == RID)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
774 .Select(r => new { r.TestField })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
775 .FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
776
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
777 Assert.NotNull(result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
778 Assert.True(result.TestField == null);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
779 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
780 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
781 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
782
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
783 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
784 public void EnumMapSelectNull2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
785 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
786 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
787 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
788 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
789 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
790 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
791 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
792 Id = RID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
793 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
794
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
795 var result = db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
796 .Where(r => r.Id == RID)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
797 .Select(r => new { r.TestField })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
798 .FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
799
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
800 Assert.NotNull(result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
801 Assert.True(result.TestField == null);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
802 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
803 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
804 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
805
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
806 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
807 public void EnumMapWhereNull1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
808 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
809 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
810 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
811 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
812 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
813 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
814 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
815 Id = RID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
816 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
817
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
818 var result = db.GetTable<NullableTestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
819 .Where(r => r.Id == RID && r.TestField == null)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
820 .Select(r => new { r.TestField }).FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
821 Assert.NotNull(result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
822 Assert.Null(result.TestField);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
823 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
824 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
825 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
826
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
827 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
828 public void EnumMapWhereNull2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
829 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
830 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
831 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
832 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
833 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
834 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
835 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
836 Id = RID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
837 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
838
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
839 var result = db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
840 .Where(r => r.Id == RID && r.TestField == null)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
841 .Select(r => new { r.TestField }).FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
842 Assert.NotNull(result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
843 Assert.Null(result.TestField);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
844 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
845 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
846 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
847
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
848 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
849 public void EnumMapInsertObject1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
850 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
851 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
852 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
853 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
854 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
855 db.Insert(new TestTable1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
856 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
857 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
858 TestField = TestEnum1.Value2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
859 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
860
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
861 Assert.AreEqual(1, db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL2).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
862 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
863 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
864 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
865
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
866 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
867 public void EnumMapInsertObject2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
868 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
869 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
870 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
871 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
872 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
873 db.Insert(new TestTable2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
874 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
875 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
876 TestField = TestEnum2.Value2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
877 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
878
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
879 Assert.AreEqual(1, db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL2).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
880 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
881 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
882 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
883
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
884 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
885 public void EnumMapInsertObject3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
886 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
887 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
888 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
889 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
890 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
891 db.Insert(new NullableTestTable1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
892 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
893 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
894 TestField = TestEnum1.Value2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
895 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
896
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
897 Assert.AreEqual(1, db.GetTable<RawTable>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
898 .Where(r => r.Id == RID && r.TestField == VAL2).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
899 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
900 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
901 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
902
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
903 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
904 public void EnumMapInsertObject4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
905 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
906 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
907 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
908 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
909 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
910 db.Insert(new NullableTestTable2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
911 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
912 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
913 TestField = TestEnum2.Value2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
914 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
915
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
916 Assert.AreEqual(1, db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL2).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
917 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
918 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
919 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
920
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
921 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
922 public void EnumMapInsertFromSelectWithParam1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
923 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
924 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
925 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
926 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
927 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
928 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
929 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
930 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
931 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
932 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
933
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
934 var param = TestEnum1.Value1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
935
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
936 var result = db.GetTable<TestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
937 .Where(r => r.Id == RID && r.TestField == TestEnum1.Value2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
938 .Select(r => new TestTable1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
939 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
940 Id = r.Id,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
941 TestField = param
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
942 })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
943 .Insert(db.GetTable<TestTable1>(), r => r);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
944
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
945 Assert.AreEqual(1, result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
946 Assert.AreEqual(1, db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL1).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
947 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
948 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
949 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
950
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
951 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
952 public void EnumMapInsertFromSelectWithParam2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
953 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
954 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
955 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
956 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
957 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
958 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
959 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
960 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
961 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
962 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
963
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
964 var param = TestEnum2.Value1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
965
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
966 var result = db.GetTable<TestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
967 .Where(r => r.Id == RID && r.TestField == TestEnum2.Value2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
968 .Select(r => new TestTable2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
969 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
970 Id = r.Id,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
971 TestField = param
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
972 })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
973 .Insert(db.GetTable<TestTable2>(), r => r);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
974
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
975 Assert.AreEqual(1, result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
976 Assert.AreEqual(1, db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL1).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
977 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
978 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
979 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
980
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
981 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
982 public void EnumMapInsertFromSelectWithParam3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
983 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
984 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
985 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
986 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
987 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
988 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
989 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
990 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
991 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
992 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
993
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
994 var param = TestEnum1.Value1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
995
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
996 var result = db.GetTable<NullableTestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
997 .Where(r => r.Id == RID && r.TestField == TestEnum1.Value2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
998 .Select(r => new NullableTestTable1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
999 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1000 Id = r.Id,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1001 TestField = param
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1002 })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1003 .Insert(db.GetTable<NullableTestTable1>(), r => r);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1004
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1005 Assert.AreEqual(1, result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1006 Assert.AreEqual(1, db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL1).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1007 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1008 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1009 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1010
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1011 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1012 public void EnumMapInsertFromSelectWithParam4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1013 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1014 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1015 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1016 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1017 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1018 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1019 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1020 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1021 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1022 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1023
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1024 var param = TestEnum2.Value1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1025
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1026 var result = db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1027 .Where(r => r.Id == RID && r.TestField == TestEnum2.Value2)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1028 .Select(r => new NullableTestTable2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1029 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1030 Id = r.Id,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1031 TestField = param
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1032 })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1033 .Insert(db.GetTable<NullableTestTable2>(), r => r);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1034
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1035 Assert.AreEqual(1, result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1036 Assert.AreEqual(1, db.GetTable<RawTable>().Where(r => r.Id == RID && r.TestField == VAL1).Count());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1037 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1038 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1039 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1040
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1041 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1042 public void EnumMapDeleteEquals1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1043 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1044 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1045 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1046 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1047 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1048 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1049 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1050 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1051 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1052 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1053
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1054 Assert.True(1 == db.GetTable<TestTable1>().Delete(r => r.Id == RID && r.TestField.Equals(TestEnum1.Value2)));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1055 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1056 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1057 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1058
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1059 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1060 public void EnumMapDeleteEquals2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1061 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1062 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1063 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1064 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1065 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1066 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1067 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1068 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1069 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1070 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1071
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1072 Assert.True(1 == db.GetTable<TestTable2>().Delete(r => r.Id == RID && r.TestField.Equals(TestEnum2.Value2)));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1073 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1074 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1075 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1076
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1077 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1078 public void EnumMapDeleteEquals3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1079 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1080 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1081 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1082 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1083 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1084 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1085 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1086 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1087 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1088 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1089
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1090 Assert.True(1 == db.GetTable<NullableTestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1091 .Delete(r => r.Id == RID && r.TestField.Equals(TestEnum1.Value2)));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1092 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1093 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1094 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1095
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1096 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1097 public void EnumMapDeleteEquals4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1098 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1099 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1100 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1101 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1102 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1103 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1104 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1105 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1106 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1107 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1108
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1109 Assert.True(1 == db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1110 .Delete(r => r.Id == RID && r.TestField.Equals(TestEnum2.Value2)));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1111 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1112 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1113 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1114
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1115 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1116 public void EnumMapCustomPredicate1([DataContexts] string context)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1117 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1118 using (var db = GetDataContext(context))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1119 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1120 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1121 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1122 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1123 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1124 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1125 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1126 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1127
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1128 var entityParameter = Expression.Parameter(typeof(TestTable1), "entity"); // parameter name required for BLToolkit
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1129 var filterExpression = Expression.Equal(Expression.Field(entityParameter, "TestField"), Expression.Constant(TestEnum1.Value2));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1130 var filterPredicate = Expression.Lambda<Func<TestTable1, bool>>(filterExpression, entityParameter);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1131 var result = db.GetTable<TestTable1>().Where(filterPredicate).ToList();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1132
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1133 Assert.AreEqual(1, result.Count);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1134 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1135 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1136 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1137
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1138 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1139 public void EnumMapCustomPredicate2([DataContexts] string context)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1140 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1141 using (var db = GetDataContext(context))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1142 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1143 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1144 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1145 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1146 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1147 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1148 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1149 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1150
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1151 var entityParameter = Expression.Parameter(typeof(TestTable2), "entity"); // parameter name required for BLToolkit
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1152 var filterExpression = Expression.Equal(Expression.Field(entityParameter, "TestField"), Expression.Constant(TestEnum2.Value2));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1153 var filterPredicate = Expression.Lambda<Func<TestTable2, bool>>(filterExpression, entityParameter);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1154 var result = db.GetTable<TestTable2>().Where(filterPredicate).ToList();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1155
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1156 Assert.AreEqual(1, result.Count);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1157 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1158 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1159 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1160
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1161 [TableName("LinqDataTypes")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1162 class TestTable3
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1163 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1164 [PrimaryKey]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1165 public int ID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1166
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1167 [MapField("BigIntValue")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1168 public TestEnum1? TargetType;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1169
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1170 [MapField("IntValue")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1171 public int? TargetID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1172 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1173
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1174 struct ObjectReference
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1175 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1176 public TestEnum1 TargetType;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1177 public int TargetID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1178 public ObjectReference(TestEnum1 targetType, int tagetId)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1179 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1180 TargetType = targetType;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1181 TargetID = tagetId;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1182 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1183 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1184
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1185 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1186 public void Test_4_1_18_Regression1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1187 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1188 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1189 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1190 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1191 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1192 db.GetTable<RawTable>().Insert(() => new RawTable()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1193 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1194 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1195 TestField = VAL2,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1196 Int32Field = 10
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1197 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1198
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1199 var result = db.GetTable<TestTable3>().Where(r => r.ID == RID).Select(_ => new
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1200 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1201 Target = _.TargetType != null && _.TargetID != null
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1202 ? new ObjectReference(_.TargetType.Value, _.TargetID.Value)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1203 : default(ObjectReference?)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1204 })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1205 .ToArray();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1206
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1207 Assert.AreEqual(1, result.Length);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1208 Assert.NotNull(result[0].Target);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1209 Assert.AreEqual(10, result[0].Target.Value.TargetID);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1210 Assert.AreEqual(TestEnum1.Value2, result[0].Target.Value.TargetType);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1211 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1212 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1213 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1214
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1215 [TableName("LinqDataTypes")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1216 class TestTable4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1217 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1218 [PrimaryKey]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1219 public int ID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1220
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1221 [MapField("BigIntValue")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1222 public TestEnum2? TargetType;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1223
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1224 [MapField("IntValue")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1225 public int? TargetID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1226 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1227
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1228 struct ObjectReference2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1229 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1230 public TestEnum2 TargetType;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1231 public int TargetID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1232 public ObjectReference2(TestEnum2 targetType, int tagetId)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1233 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1234 TargetType = targetType;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1235 TargetID = tagetId;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1236 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1237 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1238
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1239 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1240 public void Test_4_1_18_Regression2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1241 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1242 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1243 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1244 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1245 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1246 db.GetTable<RawTable>().Insert(() => new RawTable()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1247 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1248 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1249 TestField = (long)TestEnum2.Value2,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1250 Int32Field = 10
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1251 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1252
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1253 var result = db.GetTable<TestTable4>().Where(r => r.ID == RID).Select(_ => new
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1254 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1255 Target = _.TargetType != null && _.TargetID != null
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1256 ? new ObjectReference2(_.TargetType.Value, _.TargetID.Value)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1257 : default(ObjectReference2?)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1258 })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1259 .ToArray();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1260
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1261 Assert.AreEqual(1, result.Length);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1262 Assert.NotNull(result[0].Target);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1263 Assert.AreEqual(10, result[0].Target.Value.TargetID);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1264 Assert.AreEqual(TestEnum2.Value2, result[0].Target.Value.TargetType);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1265 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1266 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1267 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1268
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1269 class NullableResult
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1270 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1271 public TestEnum1? Value;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1272 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1273
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1274 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1275 public void EnumMapSelectNull([DataContexts] string context)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1276 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1277 using (var db = GetDataContext(context))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1278 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1279 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1280 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1281 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1282 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1283 Id = RID
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1284 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1285
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1286 var result = db.GetTable<TestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1287 .Where(r => r.Id == RID)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1288 .Select(r => new NullableResult {Value = r.TestField })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1289 .FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1290
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1291 Assert.NotNull(result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1292 Assert.Null(result.Value);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1293 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1294 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1295 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1296
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1297 private TestEnum1 Convert(TestEnum1 val)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1298 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1299 return val;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1300 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1301
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1302 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1303 public void EnumMapSelectNull_Regression([DataContexts] string context)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1304 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1305 using (var db = GetDataContext(context))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1306 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1307 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1308 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1309 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1310 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1311 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1312 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1313 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1314
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1315 var result = db.GetTable<TestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1316 .Where(r => r.Id == RID)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1317 .Select(r => new NullableResult { Value = Convert(r.TestField) })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1318 .FirstOrDefault();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1319
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1320 Assert.NotNull(result);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1321 Assert.That(result.Value, Is.EqualTo(TestEnum1.Value2));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1322 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1323 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1324 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1325
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1326 [Flags]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1327 enum TestFlag
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1328 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1329 Value1 = 0x1,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1330 Value2 = 0x2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1331 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1332
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1333 [TableName("LinqDataTypes")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1334 class TestTable5
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1335 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1336 public int ID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1337 public TestFlag IntValue;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1338 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1339
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1340 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1341 public void TestFlagEnum([DataContexts(ProviderName.Access)] string context)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1342 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1343 using (var db = GetDataContext(context))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1344 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1345 var result =
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1346 from t in db.GetTable<TestTable5>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1347 where (t.IntValue & TestFlag.Value1) != 0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1348 select t;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1349
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1350 var sql = result.ToString();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1351
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1352 Assert.That(sql, Is.Not.Contains("Convert"));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1353 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1354 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1355
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1356 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1357 public void EnumMapContainsList1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1358 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1359 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1360 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1361 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1362 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1363 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1364 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1365 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1366 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1367 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1368
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1369 var set = new HashSet<TestEnum1>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1370 set.Add(TestEnum1.Value2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1371
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1372 Assert.That(db.GetTable<TestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1373 .Where(r => r.Id == RID && set.Contains(r.TestField)).Count(), Is.EqualTo(1));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1374 Assert.That(db.GetTable<TestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1375 .Where(r => r.Id == RID && !set.Contains(r.TestField)).Count(), Is.EqualTo(0));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1376 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1377 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1378 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1379
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1380 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1381 public void EnumMapContainsList2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1382 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1383 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1384 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1385 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1386 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1387 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1388 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1389 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1390 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1391 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1392
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1393 var set = new HashSet<TestEnum2>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1394 set.Add(TestEnum2.Value2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1395
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1396 Assert.That(db.GetTable<TestTable2>().Where(r => r.Id == RID && set.Contains(r.TestField)).Count(), Is.EqualTo(1));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1397 Assert.That(db.GetTable<TestTable2>().Where(r => r.Id == RID && !set.Contains(r.TestField)).Count(), Is.EqualTo(0));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1398 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1399 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1400 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1401
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1402 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1403 public void EnumMapContainsList3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1404 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1405 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1406 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1407 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1408 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1409 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1410 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1411 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1412 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1413 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1414
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1415 var set = new HashSet<TestEnum1?>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1416 set.Add(TestEnum1.Value2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1417
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1418 Assert.That(db.GetTable<NullableTestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1419 .Where(r => r.Id == RID && set.Contains(r.TestField)).Count(), Is.EqualTo(1));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1420 Assert.That(db.GetTable<NullableTestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1421 .Where(r => r.Id == RID && !set.Contains(r.TestField)).Count(), Is.EqualTo(0));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1422 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1423 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1424 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1425
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1426 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1427 public void EnumMapContainsList4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1428 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1429 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1430 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1431 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1432 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1433 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1434 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1435 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1436 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1437 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1438
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1439 var set = new HashSet<TestEnum2?>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1440 set.Add(TestEnum2.Value2);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1441
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1442 Assert.That(db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1443 .Where(r => r.Id == RID && set.Contains(r.TestField)).Count(), Is.EqualTo(1));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1444 Assert.That(db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1445 .Where(r => r.Id == RID && !set.Contains(r.TestField)).Count(), Is.EqualTo(0));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1446 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1447 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1448 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1449
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1450 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1451 public void EnumMapIntermediateObject1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1452 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1453 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1454 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1455 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1456 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1457 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1458 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1459 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1460 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1461 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1462
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1463 Assert.That(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1464 db.GetTable<TestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1465 .Select(r => new {r.Id, r.TestField})
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1466 .Where(r => r.Id == RID && r.TestField == TestEnum1.Value2).Count(), Is.EqualTo(1));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1467 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1468 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1469 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1470
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1471 //////[Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1472 public void EnumMapIntermediateObject2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1473 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1474 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1475 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1476 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1477 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1478 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1479 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1480 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1481 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1482 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1483
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1484 Assert.That(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1485 db.GetTable<TestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1486 .Select(r => new { r.Id, r.TestField })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1487 .Where(r => r.Id == RID && r.TestField == TestEnum2.Value2).Count(), Is.EqualTo(1));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1488 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1489 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1490 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1491
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1492 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1493 public void EnumMapIntermediateObject3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1494 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1495 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1496 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1497 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1498 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1499 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1500 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1501 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1502 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1503 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1504
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1505 Assert.That(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1506 db.GetTable<NullableTestTable1>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1507 .Select(r => new { r.Id, r.TestField })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1508 .Where(r => r.Id == RID && r.TestField == TestEnum1.Value2).Count(), Is.EqualTo(1));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1509 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1510 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1511 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1512
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1513 //////[Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1514 public void EnumMapIntermediateObject4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1515 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1516 ForEachProvider(db =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1517 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1518 using (new Cleaner(db))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1519 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1520 db.GetTable<RawTable>().Insert(() => new RawTable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1521 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1522 Id = RID,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1523 TestField = VAL2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1524 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1525
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1526 Assert.That(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1527 db.GetTable<NullableTestTable2>()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1528 .Select(r => new { r.Id, r.TestField })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1529 .Where(r => r.Id == RID && r.TestField == TestEnum2.Value2).Count(), Is.EqualTo(1));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1530 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1531 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1532 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1533 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1534 }