1- using System . Collections . Generic ;
1+ using Newtonsoft . Json . Linq ;
2+ using NFluent ;
3+ using System . Collections . Generic ;
24using System . Dynamic ;
35using System . Globalization ;
46using System . Linq . Dynamic . Core . Exceptions ;
57using System . Linq . Dynamic . Core . Tests . Helpers ;
68using System . Linq . Dynamic . Core . Tests . Helpers . Models ;
7- using Newtonsoft . Json . Linq ;
8- using NFluent ;
99using Xunit ;
1010
1111namespace System . Linq . Dynamic . Core . Tests
@@ -1381,13 +1381,40 @@ public void ExpressionTests_NullPropagating(string test, string query)
13811381 Check . That ( queryAsString ) . Equals ( query ) ;
13821382 }
13831383
1384+ [ Fact ]
1385+ public void ExpressionTests_NullPropagation_Method ( )
1386+ {
1387+ // Arrange
1388+ var users = new [ ] { new User { Roles = new List < Role > ( ) } } . AsQueryable ( ) ;
1389+
1390+ // Act
1391+ var resultDynamic = users . Select ( "np(Roles.FirstOrDefault(false).Name)" ) . ToDynamicArray ( ) ;
1392+
1393+ // Assert
1394+ Assert . True ( resultDynamic [ 0 ] == null ) ;
1395+ }
1396+
1397+ [ Fact ]
1398+ public void ExpressionTests_NullPropagation_Method_WithDefaultValue ( )
1399+ {
1400+ // Arrange
1401+ var defaultRoleName = "x" ;
1402+ var users = new [ ] { new User { Roles = new List < Role > ( ) } } . AsQueryable ( ) ;
1403+
1404+ // Act
1405+ var resultDynamic = users . Select ( "np(Roles.FirstOrDefault(false).Name, @0)" , defaultRoleName ) . ToDynamicArray ( ) ;
1406+
1407+ // Assert
1408+ Assert . True ( resultDynamic [ 0 ] == "x" ) ;
1409+ }
1410+
13841411 [ Fact ]
13851412 public void ExpressionTests_NullPropagating_DateTime ( )
13861413 {
13871414 // Arrange
13881415 var q = new [ ]
13891416 {
1390- new { id = 1 , date1 = ( DateTime ? ) DateTime . Now , date2 = DateTime . Now . AddDays ( - 1 ) }
1417+ new { id = 1 , date1 = ( DateTime ? ) DateTime . Now , date2 = DateTime . Now . AddDays ( - 1 ) }
13911418 } . AsQueryable ( ) ;
13921419
13931420 // Act
@@ -1399,7 +1426,7 @@ public void ExpressionTests_NullPropagating_DateTime()
13991426 }
14001427
14011428 [ Fact ]
1402- public void ExpressionTests_NullPropagating_NullableDateTime ( )
1429+ public void ExpressionTests_NullPropagation_NullableDateTime ( )
14031430 {
14041431 // Arrange
14051432 var q = new [ ]
@@ -1448,7 +1475,7 @@ public void ExpressionTests_NullPropagating_WithDefaultValue()
14481475 }
14491476
14501477 [ Fact ]
1451- public void ExpressionTests_NullPropagating_ThrowsException ( )
1478+ public void ExpressionTests_NullPropagation_ThrowsException ( )
14521479 {
14531480 // Arrange
14541481 var q = User . GenerateSampleModels ( 1 , true ) . AsQueryable ( ) ;
0 commit comments