@@ -71,10 +71,10 @@ public void Parse_ParseAndOperator(string expression, string result)
71
71
}
72
72
73
73
[ Theory ]
74
- [ InlineData ( "string(null)" , null ) ]
75
74
[ InlineData ( "string(\" \" )" , "" ) ]
76
75
[ InlineData ( "string(\" a\" )" , "a" ) ]
77
- public void Parse_CastStringShouldReturnConstantExpression ( string expression , object result )
76
+ [ InlineData ( "int(42)" , 42 ) ]
77
+ public void Parse_CastStringIntShouldReturnConstantExpression ( string expression , object result )
78
78
{
79
79
// Arrange
80
80
ParameterExpression [ ] parameters = { ParameterExpressionHelper . CreateParameterExpression ( typeof ( bool ) , "x" ) } ;
@@ -88,20 +88,27 @@ public void Parse_CastStringShouldReturnConstantExpression(string expression, ob
88
88
}
89
89
90
90
[ Theory ]
91
- [ InlineData ( "int?(null)" , null ) ]
92
- [ InlineData ( "int?(5)" , 5 ) ]
93
- [ InlineData ( "int(42)" , 42 ) ]
94
- public void Parse_CastIntShouldReturnConstantExpression ( string expression , object result )
91
+ #if NET452
92
+ [ InlineData ( "int?(5)" , typeof ( int ? ) , "Convert(5)" ) ]
93
+ [ InlineData ( "int?(null)" , typeof ( int ? ) , "Convert(null)" ) ]
94
+ [ InlineData ( "string(null)" , typeof ( string ) , "Convert(null)" ) ]
95
+ #else
96
+ [ InlineData ( "int?(5)" , typeof ( int ? ) , "Convert(5, Nullable`1)" ) ]
97
+ [ InlineData ( "int?(null)" , typeof ( int ? ) , "Convert(null, Nullable`1)" ) ]
98
+ [ InlineData ( "string(null)" , typeof ( string ) , "Convert(null, String)" ) ]
99
+ #endif
100
+ public void Parse_NullableShouldReturnNullable ( string expression , object resultType , object result )
95
101
{
96
102
// Arrange
97
103
ParameterExpression [ ] parameters = { ParameterExpressionHelper . CreateParameterExpression ( typeof ( bool ) , "x" ) } ;
98
104
var sut = new ExpressionParser ( parameters , expression , null , null ) ;
99
105
100
106
// Act
101
- var constantExpression = ( ConstantExpression ) sut . Parse ( null ) ;
107
+ var unaryExpression = ( UnaryExpression ) sut . Parse ( null ) ;
102
108
103
109
// Assert
104
- Check . That ( constantExpression . Value ) . Equals ( result ) ;
110
+ Check . That ( unaryExpression . Type ) . Equals ( resultType ) ;
111
+ Check . That ( unaryExpression . ToString ( ) ) . Equals ( result ) ;
105
112
}
106
113
}
107
114
}
0 commit comments