@@ -328,6 +328,38 @@ public void ExpressionTests_Enum()
328
328
Assert . Equal ( TestEnum . Var5 , result7 . Single ( ) ) ;
329
329
}
330
330
331
+ [ Fact ]
332
+ public void ExpressionTests_Enum_Nullable ( )
333
+ {
334
+ GlobalConfig . CustomTypeProvider = new NetStandardCustomTypeProvider ( ) ;
335
+
336
+ //Act
337
+ var result1a = new [ ] { TestEnum . Var1 } . AsQueryable ( ) . Where ( "it = @0" , ( TestEnum ? ) TestEnum . Var1 ) ;
338
+ var result1b = new [ ] { TestEnum . Var1 } . AsQueryable ( ) . Where ( "@0 = it" , ( TestEnum ? ) TestEnum . Var1 ) ;
339
+ var result2a = new [ ] { ( TestEnum ? ) TestEnum . Var1 , null } . AsQueryable ( ) . Where ( "it = @0" , TestEnum . Var1 ) ;
340
+ var result2b = new [ ] { ( TestEnum ? ) TestEnum . Var1 , null } . AsQueryable ( ) . Where ( "@0 = it" , TestEnum . Var1 ) ;
341
+ var result3a = new [ ] { ( TestEnum ? ) TestEnum . Var1 , null } . AsQueryable ( ) . Where ( "it = @0" , ( TestEnum ? ) TestEnum . Var1 ) ;
342
+ var result3b = new [ ] { ( TestEnum ? ) TestEnum . Var1 , null } . AsQueryable ( ) . Where ( "@0 = it" , ( TestEnum ? ) TestEnum . Var1 ) ;
343
+
344
+ var result10a = new [ ] { TestEnum . Var1 } . AsQueryable ( ) . Where ( "it = @0" , "Var1" ) ;
345
+ var result10b = new [ ] { TestEnum . Var1 } . AsQueryable ( ) . Where ( "@0 = it" , "Var1" ) ;
346
+ var result11a = new [ ] { ( TestEnum ? ) TestEnum . Var1 , null } . AsQueryable ( ) . Where ( "it = @0" , "Var1" ) ;
347
+ var result11b = new [ ] { ( TestEnum ? ) TestEnum . Var1 , null } . AsQueryable ( ) . Where ( "@0 = it" , "Var1" ) ;
348
+
349
+ //Assert
350
+ Assert . Equal ( TestEnum . Var1 , result1a . Single ( ) ) ;
351
+ Assert . Equal ( TestEnum . Var1 , result1b . Single ( ) ) ;
352
+ Assert . Equal ( TestEnum . Var1 , result2a . Single ( ) ) ;
353
+ Assert . Equal ( TestEnum . Var1 , result2b . Single ( ) ) ;
354
+ Assert . Equal ( ( TestEnum ? ) TestEnum . Var1 , result3a . Single ( ) ) ;
355
+ Assert . Equal ( ( TestEnum ? ) TestEnum . Var1 , result3b . Single ( ) ) ;
356
+
357
+ Assert . Equal ( TestEnum . Var1 , result10a . Single ( ) ) ;
358
+ Assert . Equal ( TestEnum . Var1 , result10b . Single ( ) ) ;
359
+ Assert . Equal ( ( TestEnum ? ) TestEnum . Var1 , result11a . Single ( ) ) ;
360
+ Assert . Equal ( ( TestEnum ? ) TestEnum . Var1 , result11b . Single ( ) ) ;
361
+ }
362
+
331
363
[ Fact ]
332
364
public void ExpressionTests_FirstOrDefault ( )
333
365
{
0 commit comments