1- // Copyright (C) 2014 Xtensive LLC.
1+ // Copyright (C) 2014 Xtensive LLC.
22// All rights reserved.
33// For conditions of distribution and use, see license.
44// Created by: Alexey Kulakov
@@ -106,20 +106,20 @@ protected override void PopulateData()
106106 using ( var session = Domain . OpenSession ( ) )
107107 using ( var t = session . OpenTransaction ( ) ) {
108108 var car = new Car ( ) ;
109- new EmployeeWithCar { Car = car } ;
110- new Employee ( ) ;
111- new Employee ( ) ;
109+ _ = new EmployeeWithCar { Car = car } ;
110+ _ = new Employee ( ) ;
111+ _ = new Employee ( ) ;
112112
113113 var customer = new Customer ( ) ;
114114 for ( var i = 0 ; i < 10 ; i ++ ) {
115- if ( i % 2 == 0 ) {
115+ if ( i % 2 == 0 ) {
116116 var job = new Job ( ) {
117- Location = new Location ( ) {
118- Address = new Address ( ) {
119- Street = string . Format ( "{0} street" , i + 1 . ToString ( ) )
120- }
121- }
122- } ;
117+ Location = new Location ( ) {
118+ Address = new Address ( ) {
119+ Street = string . Format ( "{0} street" , i + 1 . ToString ( ) )
120+ }
121+ }
122+ } ;
123123 var invoice = new Invoice ( ) { Customer = customer , Job = job } ;
124124 }
125125 else {
@@ -189,6 +189,8 @@ public void WorkaroundTest()
189189 e . Id ,
190190 Car = c
191191 } ) ;
192+
193+
192194 Assert . AreEqual ( 3 , wordaround . Count ( ) ) ;
193195 }
194196 }
@@ -199,11 +201,20 @@ public void Test01()
199201 using ( var session = Domain . OpenSession ( ) )
200202 using ( var transaction = session . OpenTransaction ( ) ) {
201203 var customer = session . Query . All < Customer > ( ) . First ( ) ;
202- var result = ( from i in session . Query . All < Invoice > ( )
204+ var results =
205+ ( from i in session . Query . All < Invoice > ( )
203206 from j in session . Query . All < Job > ( ) . Where ( j => j == i . Job ) . DefaultIfEmpty ( )
204207 where i . Customer . Id == customer . Id
205208 select new { i . Id , Location = j != null && j . Location != null ? j . Location . Address . Street : "" } ) . ToList ( ) ;
206- Assert . AreEqual ( 10 , result . Count ) ;
209+
210+ var localResults =
211+ ( from i in session . Query . All < Invoice > ( ) . AsEnumerable ( )
212+ from j in session . Query . All < Job > ( ) . AsEnumerable ( ) . Where ( j => j == i . Job ) . DefaultIfEmpty ( )
213+ where i . Customer . Id == customer . Id
214+ select new { i . Id , Location = j != null && j . Location != null ? j ? . Location . Address . Street : "" } ) . ToList ( ) ;
215+
216+ Assert . That ( localResults . Count , Is . EqualTo ( 10 ) ) ;
217+ Assert . That ( results . Count , Is . EqualTo ( localResults . Count ) ) ;
207218 }
208219 }
209220
@@ -212,25 +223,46 @@ public void Test02()
212223 {
213224 using ( var session = Domain . OpenSession ( ) )
214225 using ( var transaction = session . OpenTransaction ( ) ) {
215- var results = ( from i in session . Query . All < Invoice > ( )
216- from j in session . Query . All < Job > ( ) . Where ( j => j == i . Job ) . DefaultIfEmpty ( )
217- select new { i . Id , Location = j . Location } ) . Where ( el => el . Location != null || string . IsNullOrEmpty ( el . Location . Address . Street ) ) . ToList ( ) ;
218- Assert . AreEqual ( 5 , results . Count ) ;
226+ var results =
227+ ( from i in session . Query . All < Invoice > ( )
228+ from j in session . Query . All < Job > ( ) . Where ( j => j == i . Job ) . DefaultIfEmpty ( )
229+ select new { i . Id , Location = j . Location } )
230+ . Where ( el => el . Location != null || string . IsNullOrEmpty ( el . Location . Address . Street ) )
231+ . ToList ( ) ;
232+
233+ var localResults =
234+ ( from i in session . Query . All < Invoice > ( ) . AsEnumerable ( )
235+ from j in session . Query . All < Job > ( ) . AsEnumerable ( ) . Where ( j => j == i . Job ) . DefaultIfEmpty ( )
236+ select new { i . Id , Location = j ? . Location } )
237+ . Where ( el => el . Location != null || string . IsNullOrEmpty ( el . Location ? . Address ? . Street ) ) . ToList ( ) ;
238+
239+ Assert . That ( localResults . Count , Is . EqualTo ( 10 ) ) ;
240+ Assert . That ( results . Count , Is . EqualTo ( localResults . Count ) ) ;
219241 }
220242 }
221243
222244 [ Test ]
223- public void Test3 ( )
245+ public void Test03 ( )
224246 {
225247 using ( var session = Domain . OpenSession ( ) )
226248 using ( var transaction = session . OpenTransaction ( ) ) {
227249 var cusomer = session . Query . All < Customer > ( ) . First ( ) ;
228- var result = ( from i in session . Query . All < Invoice > ( )
229- from j in session . Query . All < Job > ( ) . Where ( j => j == i . Job ) . DefaultIfEmpty ( )
230- from l in session . Query . All < Location > ( ) . Where ( l => l == j . Location ) . DefaultIfEmpty ( )
231- where i . Customer . Id == cusomer . Id
232- select new { i . Id , Location = l != null ? l . Address . Street : "" , } ) . ToList ( ) ;
233- Assert . AreEqual ( 10 , result . Count ) ;
250+ var results =
251+ ( from i in session . Query . All < Invoice > ( )
252+ from j in session . Query . All < Job > ( ) . Where ( j => j == i . Job ) . DefaultIfEmpty ( )
253+ from l in session . Query . All < Location > ( ) . Where ( l => l == j . Location ) . DefaultIfEmpty ( )
254+ where i . Customer . Id == cusomer . Id
255+ select new { i . Id , Location = l != null ? l . Address . Street : "" , } ) . ToList ( ) ;
256+
257+ var localResults =
258+ ( from i in session . Query . All < Invoice > ( ) . AsEnumerable ( )
259+ from j in session . Query . All < Job > ( ) . AsEnumerable ( ) . Where ( j => j == i ? . Job ) . DefaultIfEmpty ( )
260+ from l in session . Query . All < Location > ( ) . AsEnumerable ( ) . Where ( l => l == j ? . Location ) . DefaultIfEmpty ( )
261+ where i ? . Customer ? . Id == cusomer . Id
262+ select new { i . Id , Location = l != null ? l . Address . Street : "" , } ) . ToList ( ) ;
263+
264+ Assert . That ( localResults . Count , Is . EqualTo ( 10 ) ) ;
265+ Assert . That ( results . Count , Is . EqualTo ( localResults . Count ) ) ;
234266 }
235267 }
236268 }
0 commit comments