55// Created: 2018.10.18
66
77using System ;
8- using System . Collections . Generic ;
98using System . Linq ;
109using System . Linq . Expressions ;
11- using System . Text ;
1210using NUnit . Framework ;
1311using Xtensive . Orm . Configuration ;
1412using Xtensive . Orm . Providers ;
@@ -345,7 +343,13 @@ public void Case21Test()
345343 var result = session . Query . All < TestEntity > ( )
346344 . Select ( e => values . Contains ( e . List . FirstOrDefault ( ) . Link . Value3 . Value ) ) . ToArray ( ) ;
347345
348- Assert . That ( result . Single ( ) , Is . True ) ;
346+ var values2 = new MyEnum ? [ ] { MyEnum . Bar , MyEnum . Foo } ;
347+ var expected = session . Query . All < TestEntity > ( ) . AsEnumerable ( )
348+ . Select ( e => values2 . Contains ( e . List . FirstOrDefault ( ) ? . Link . Value3 . Value ) ) . ToArray ( ) ;
349+
350+ Assert . That ( result . Length , Is . EqualTo ( 2 ) ) ;
351+ Assert . That ( expected . Length , Is . EqualTo ( 2 ) ) ;
352+ Assert . That ( result . Except ( expected ) . Count ( ) , Is . EqualTo ( 0 ) ) ;
349353 }
350354 }
351355
@@ -358,7 +362,18 @@ public void Case22Test()
358362 var result = session . Query . All < TestEntity > ( )
359363 . Select ( e => e . List . FirstOrDefault ( ) . Link . Value3 . Value . In ( values ) ) . ToArray ( ) ;
360364
361- Assert . That ( result . Single ( ) , Is . True ) ;
365+ var expected = session . Query . All < TestEntity > ( ) . AsEnumerable ( )
366+ . Select ( e => {
367+ var firsItem = e . List . FirstOrDefault ( ) ;
368+ if ( firsItem == null )
369+ return false ;
370+ return firsItem . Link . Value3 . Value . In ( values ) ;
371+ } )
372+ . ToArray ( ) ;
373+
374+ Assert . That ( result . Length , Is . EqualTo ( 2 ) ) ;
375+ Assert . That ( expected . Length , Is . EqualTo ( 2 ) ) ;
376+ Assert . That ( result . Except ( expected ) . Count ( ) , Is . EqualTo ( 0 ) ) ;
362377 }
363378 }
364379
@@ -397,7 +412,18 @@ public void Case25Test()
397412 var result = session . Query . All < TestEntity > ( )
398413 . Select ( e => values . Contains ( e . List . FirstOrDefault ( ) . Link . String . Substring ( 2 , 3 ) ) ) . ToArray ( ) ;
399414
400- Assert . That ( result , Is . All . True ) ;
415+ var expected = session . Query . All < TestEntity > ( ) . AsEnumerable ( )
416+ . Select ( e => {
417+ var firsItem = e . List . FirstOrDefault ( ) ;
418+ if ( firsItem == null )
419+ return false ;
420+ return values . Contains ( firsItem . Link . String . Substring ( 2 , 3 ) ) ;
421+ } )
422+ . ToArray ( ) ;
423+
424+ Assert . That ( result . Length , Is . EqualTo ( 2 ) ) ;
425+ Assert . That ( expected . Length , Is . EqualTo ( 2 ) ) ;
426+ Assert . That ( result . Except ( expected ) . Count ( ) , Is . EqualTo ( 0 ) ) ;
401427 }
402428 }
403429
0 commit comments