Skip to content

Commit 910f12c

Browse files
committed
Chinook-based tests: Use cached enumerables instead of query + enumeration
1 parent db675ed commit 910f12c

19 files changed

Lines changed: 202 additions & 275 deletions

Orm/Xtensive.Orm.Tests/Linq/AggregateTest.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// Copyright (C) 2003-2010 Xtensive LLC.
2-
// All rights reserved.
3-
// For conditions of distribution and use, see license.
1+
// Copyright (C) 2009-2021 Xtensive LLC.
2+
// This code is distributed under MIT license terms.
3+
// See the License.txt file in the project root for more information.
44
// Created by: Alexis Kochetov
55
// Created: 2009.02.04
66

@@ -101,7 +101,7 @@ public void CountWithNoPredicateTest()
101101
public void CountWithPredicateTest()
102102
{
103103
var count = Session.Query.All<Invoice>().Count(o => o.InvoiceId > 10);
104-
var expected = Session.Query.All<Invoice>().ToList().Count(o => o.InvoiceId > 10);
104+
var expected = Invoices.Count(o => o.InvoiceId > 10);
105105
Assert.AreEqual(expected, count);
106106
Assert.Greater(count, 0);
107107
}
@@ -282,7 +282,7 @@ public void SelectMaxTest()
282282
public void SumCountTest()
283283
{
284284
Require.ProviderIsNot(StorageProvider.SqlServerCe | StorageProvider.Oracle);
285-
var expected = Session.Query.All<Invoice>().ToList().Count();
285+
var expected = Invoices.Count();
286286
var count = Session.Query.All<Customer>()
287287
.Sum(c => Session.Query.All<Invoice>().Count(o => o.Customer==c));
288288
Assert.AreEqual(expected, count);

Orm/Xtensive.Orm.Tests/Linq/ArrayTest.cs

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// Copyright (C) 2003-2010 Xtensive LLC.
2-
// All rights reserved.
3-
// For conditions of distribution and use, see license.
1+
// Copyright (C) 2009-2021 Xtensive LLC.
2+
// This code is distributed under MIT license terms.
3+
// See the License.txt file in the project root for more information.
44
// Created by: Alexey Gamzov
55
// Created: 2009.04.30
66

@@ -37,7 +37,7 @@ public void NewIntArrayTest()
3737
public void NewByteArrayTest()
3838
{
3939
var result = Session.Query.All<Customer>().Select(x => new byte[] {1, 2});
40-
var expected = Session.Query.All<Customer>().ToList().Select(x => new byte[] {1, 2});
40+
var expected = Customers.Select(x => new byte[] {1, 2});
4141
var comparer = AdvancedComparer<byte[]>.Default.EqualityComparerImplementation;
4242
Assert.AreEqual(0, expected.Except(result, comparer).Count());
4343
QueryDumper.Dump(result);
@@ -51,7 +51,7 @@ public void NewStringArrayTest()
5151
customer.CompanyName,
5252
customer.LastName
5353
});
54-
var expected = Session.Query.All<Customer>()
54+
var expected = Customers
5555
.ToList()
5656
.Select(customer => new[] {
5757
customer.CompanyName,
@@ -71,8 +71,7 @@ public void NewByteArrayAnonymousTest()
7171
Value = new byte[] {1, 2, 3},
7272
p.Name
7373
});
74-
var expected = Session.Query.All<Track>()
75-
.ToList()
74+
var expected = Tracks
7675
.Select(p => new {
7776
Value = new byte[] {1, 2, 3},
7877
p.Name
@@ -107,7 +106,7 @@ orderby r.Name
107106
Assert.AreEqual(method, i.Method);
108107
var expected =
109108
from r in
110-
from p in Session.Query.All<Track>().ToList()
109+
from p in Tracks
111110
select new {
112111
Value = new byte[] {1, 2, 3},
113112
Method = method,
@@ -137,8 +136,7 @@ public void ArrayMemberAccessTest()
137136
customer.LastName
138137
})
139138
.Select(a => a[0]);
140-
var expected = Session.Query.All<Customer>()
141-
.ToList()
139+
var expected = Customers
142140
.Select(customer => new[] {
143141
customer.CompanyName,
144142
customer.LastName
@@ -156,8 +154,7 @@ public void ArrayAggregateAccessTest()
156154
.Select(x => new byte[] {1, 2})
157155
.Select(a => a[0])
158156
.Sum(b => b);
159-
var expected = Session.Query.All<Customer>()
160-
.ToList()
157+
var expected = Customers
161158
.Select(x => new byte[] {1, 2})
162159
.Select(a => a[0])
163160
.Sum(b => b);
@@ -172,8 +169,7 @@ public void ArrayExpressionIndexAccessTest()
172169
var bytes = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9};
173170
var result = Session.Query.All<Employee>()
174171
.Select(e => bytes[e.EmployeeId]);
175-
var expected = Session.Query.All<Employee>()
176-
.ToList()
172+
var expected = Employees
177173
.Select(e => bytes[e.EmployeeId]);
178174
Assert.AreEqual(0, expected.Except(result).Count());
179175
QueryDumper.Dump(result);

Orm/Xtensive.Orm.Tests/Linq/ComplexTest.cs

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// Copyright (C) 2003-2010 Xtensive LLC.
2-
// All rights reserved.
3-
// For conditions of distribution and use, see license.
1+
// Copyright (C) 2009-2021 Xtensive LLC.
2+
// This code is distributed under MIT license terms.
3+
// See the License.txt file in the project root for more information.
44
// Created by: Alexis Kochetov
55
// Created: 2009.02.25
66

@@ -107,10 +107,8 @@ public void SubqueryCalculableColumnTest()
107107
.Select(invoice => Session.Query.All<InvoiceLine>()
108108
.Where(p=>p.Invoice==invoice)
109109
.Count());
110-
var expectedResult = Session.Query.All<Invoice>()
111-
.ToList()
112-
.Select(invoice => Session.Query.All<InvoiceLine>()
113-
.ToList()
110+
var expectedResult = Invoices
111+
.Select(invoice => InvoiceLines
114112
.Where(p=>p.Invoice==invoice)
115113
.Count());
116114
Assert.AreEqual(0, expectedResult.Except(result).Count());
@@ -145,8 +143,8 @@ from c in Session.Query.All<Customer>()
145143
orderby Session.Query.All<Invoice>().Where(o => o.Customer==c).Count() , c.CustomerId
146144
select c;
147145
var expected =
148-
from c in Session.Query.All<Customer>().ToList()
149-
orderby Session.Query.All<Invoice>().ToList().Where(o => o.Customer==c).Count() , c.CustomerId
146+
from c in Customers
147+
orderby Invoices.Where(o => o.Customer==c).Count() , c.CustomerId
150148
select c;
151149
var resultList = result.ToList();
152150
var expectedList = expected.ToList();
@@ -178,8 +176,7 @@ public void GroupByWithSelectorSelectManyTest()
178176
.GroupBy(c => c.Track.Name,
179177
(trackName, invoiceLines) => invoiceLines.Where(k => k.Invoice.Customer.FirstName.Substring(0, 1)==trackName.Substring(0, 1)))
180178
.SelectMany(k => k);
181-
var expected = Session.Query.All<InvoiceLine>()
182-
.ToList()
179+
var expected = InvoiceLines
183180
.GroupBy(c => c.Track.Name,
184181
(trackName, invoiceLines) => invoiceLines.Where(k => k.Invoice.Customer.FirstName.Substring(0, 1)==trackName.Substring(0, 1)))
185182
.SelectMany(k => k);

Orm/Xtensive.Orm.Tests/Linq/DistinctTest.cs

Lines changed: 21 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ public void OrderBy2Test()
3333
.Select(c => c.Address.City)
3434
.Distinct()
3535
.OrderBy(c => c);
36-
var expected = Session.Query.All<Customer>()
37-
.ToList()
36+
var expected = Customers
3837
.OrderBy(c => c.CompanyName)
3938
.Select(c => c.Address.City)
4039
.Distinct()
@@ -62,7 +61,7 @@ public void OrderBy2Test()
6261
public void DefaultTest()
6362
{
6463
var result = Session.Query.All<Customer>().Distinct();
65-
var expected = Session.Query.All<Customer>().ToList().Distinct();
64+
var expected = Customers.Distinct();
6665
Assert.AreEqual(0, expected.Except(result).Count());
6766
Assert.Greater(result.ToList().Count, 0);
6867
}
@@ -73,8 +72,7 @@ public void ScalarTest()
7372
var result = Session.Query.All<Customer>()
7473
.Select(c => c.Address.City)
7574
.Distinct();
76-
var expected = Session.Query.All<Customer>()
77-
.ToList()
75+
var expected = Customers
7876
.Select(c => c.Address.City)
7977
.Distinct();
8078
Assert.AreEqual(0, expected.Except(result).Count());
@@ -89,8 +87,7 @@ public void OrderByTest()
8987
.Select(c => c.Address.City)
9088
.Distinct()
9189
.ToList();
92-
var expected = Session.Query.All<Customer>()
93-
.ToList()
90+
var expected = Customers
9491
.OrderBy(c => c.CustomerId)
9592
.Select(c => c.Address.City)
9693
.Distinct();
@@ -106,8 +103,7 @@ public void DistinctOrderByTest()
106103
.Select(c => c.Address.City)
107104
.Distinct()
108105
.OrderBy(c => c);
109-
var expected = Session.Query.All<Customer>()
110-
.ToList()
106+
var expected = Customers
111107
.Select(c => c.Address.City)
112108
.Distinct()
113109
.OrderBy(c => c);
@@ -137,8 +133,7 @@ public void CountTest()
137133
var result = Session.Query.All<Customer>()
138134
.Distinct()
139135
.Count();
140-
var expected = Session.Query.All<Customer>()
141-
.ToList()
136+
var expected = Customers
142137
.Distinct()
143138
.Count();
144139
Assert.AreEqual(expected, result);
@@ -151,8 +146,7 @@ public void SelectDistinctCountTest()
151146
.Select(c => c.Address.City)
152147
.Distinct()
153148
.Count();
154-
var expected = Session.Query.All<Customer>()
155-
.ToList()
149+
var expected = Customers
156150
.Select(c => c.Address.City)
157151
.Distinct()
158152
.Count();
@@ -168,8 +162,7 @@ public void NestedSelectDistinctCountTest()
168162
.Select(a => a.City)
169163
.Distinct()
170164
.Count();
171-
var expected = Session.Query.All<Customer>()
172-
.ToList()
165+
var expected = Customers
173166
.Select(c => c.Address)
174167
.Select(a => a.City)
175168
.Distinct()
@@ -184,8 +177,7 @@ public void CountPredicateTest()
184177
var result = Session.Query.All<Customer>()
185178
.Distinct()
186179
.Count(c => c.FirstName=="Leonie");
187-
var expected = Session.Query.All<Customer>()
188-
.ToList()
180+
var expected = Customers
189181
.Distinct()
190182
.Count(c => c.FirstName=="Leonie");
191183
Assert.AreEqual(expected, result);
@@ -198,8 +190,7 @@ public void SumWithArgTest()
198190
var result = Session.Query.All<Invoice>()
199191
.Distinct()
200192
.Sum(o => o.InvoiceId);
201-
var expected = Session.Query.All<Invoice>()
202-
.ToList()
193+
var expected = Invoices
203194
.Distinct()
204195
.Sum(o => o.InvoiceId);
205196
Assert.AreEqual(expected, result);
@@ -213,8 +204,7 @@ public void SumTest()
213204
.Select(o => o.InvoiceId)
214205
.Distinct()
215206
.Sum();
216-
var expected = Session.Query.All<Invoice>()
217-
.ToList()
207+
var expected = Invoices
218208
.Select(o => o.InvoiceId)
219209
.Distinct()
220210
.Sum();
@@ -232,8 +222,7 @@ public void TakeTest()
232222
.Distinct()
233223
.OrderBy(o => o.InvoiceId)
234224
.ToList();
235-
var expected = Session.Query.All<Invoice>()
236-
.ToList()
225+
var expected = Invoices
237226
.OrderBy(o => o.InvoiceId)
238227
.Take(5)
239228
.Distinct()
@@ -249,8 +238,7 @@ public void TakeTakeTest()
249238
.OrderBy(o => o.InvoiceId)
250239
.Take(2)
251240
.Take(1);
252-
var expected = Session.Query.All<Invoice>()
253-
.ToList()
241+
var expected = Invoices
254242
.OrderBy(o => o.InvoiceId)
255243
.Take(2)
256244
.Take(1);
@@ -275,8 +263,7 @@ public void DistinctTakeTest()
275263
.Distinct()
276264
.OrderBy(o => o.InvoiceId)
277265
.Take(5);
278-
var expected = Session.Query.All<Invoice>()
279-
.ToList()
266+
var expected = Invoices
280267
.Distinct()
281268
.OrderBy(o => o.InvoiceId)
282269
.Take(5);
@@ -291,8 +278,7 @@ public void TakeCountTest()
291278
.Distinct()
292279
.Take(5)
293280
.Count();
294-
var expected = Session.Query.All<Invoice>()
295-
.ToList()
281+
var expected = Invoices
296282
.Distinct()
297283
.Take(5)
298284
.Count();
@@ -307,8 +293,7 @@ public void TakeDistinctCountTest()
307293
.Take(5)
308294
.Distinct()
309295
.Count();
310-
var expected = Session.Query.All<Invoice>()
311-
.ToList()
296+
var expected = Invoices
312297
.Take(5)
313298
.Distinct()
314299
.Count();
@@ -325,8 +310,7 @@ public void SkipTest()
325310
.Skip(5)
326311
.Select(o => o.InvoiceDate)
327312
.Distinct().OrderBy(d => d);
328-
var expected = Session.Query.All<Invoice>()
329-
.ToList()
313+
var expected = Invoices
330314
.OrderBy(o => o.InvoiceDate)
331315
.Skip(5)
332316
.Select(o => o.InvoiceDate)
@@ -343,8 +327,7 @@ public void DistinctSkipTest()
343327
.Distinct()
344328
.OrderBy(c => c.LastName)
345329
.Skip(5);
346-
var expected = Session.Query.All<Customer>()
347-
.ToList()
330+
var expected = Customers
348331
.Distinct()
349332
.OrderBy(c => c.LastName)
350333
.Skip(5);
@@ -364,8 +347,7 @@ public void SkipTakeTest()
364347
.Select(o => o.InvoiceDate)
365348
.Distinct()
366349
.OrderBy(d => d);
367-
var expected = Session.Query.All<Invoice>()
368-
.ToList()
350+
var expected = Invoices
369351
.OrderBy(o => o.InvoiceDate)
370352
.Skip(5)
371353
.Take(10)
@@ -387,8 +369,7 @@ public void TakeSkipTest()
387369
.Select(o => o.InvoiceDate)
388370
.Distinct()
389371
.OrderBy(d => d);
390-
var expected = Session.Query.All<Invoice>()
391-
.ToList()
372+
var expected = Invoices
392373
.OrderBy(o => o.InvoiceDate)
393374
.Take(10)
394375
.Skip(5)
@@ -409,8 +390,7 @@ public void DistinctSkipTakeTest()
409390
.OrderBy(c => c)
410391
.Skip(5)
411392
.Take(10);
412-
var expected = Session.Query.All<Customer>()
413-
.ToList()
393+
var expected = Customers
414394
.Select(c => c.FirstName)
415395
.Distinct()
416396
.OrderBy(c => c)

0 commit comments

Comments
 (0)