@@ -2158,7 +2158,7 @@ void Evaluator_PreEvaluateVariable(object sender, VariablePreEvaluationEventArg
2158
2158
2159
2159
#region Method with params parameter
2160
2160
2161
- ExpressionEvaluator evaluatorForParamsTests ( )
2161
+ ExpressionEvaluator evaluatorForMethodArgs ( )
2162
2162
{
2163
2163
ExpressionEvaluator ee = new ExpressionEvaluator ( new Dictionary < string , object > ( )
2164
2164
{
@@ -2169,110 +2169,138 @@ ExpressionEvaluator evaluatorForParamsTests()
2169
2169
return ee ;
2170
2170
}
2171
2171
2172
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2172
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2173
2173
, "paramsObj.SumOf(1, 2)"
2174
2174
, null )
2175
2175
. Returns ( 3 )
2176
2176
. SetCategory ( "ParamsKeywordMethod" ) ;
2177
2177
2178
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2178
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2179
2179
, "paramsObj.SumOf(1, 2, 3)"
2180
2180
, null )
2181
2181
. Returns ( 6 )
2182
2182
. SetCategory ( "ParamsKeywordMethod" ) ;
2183
2183
2184
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2184
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2185
2185
, "paramsObj.SumOf(1,2,3,4)"
2186
2186
, null )
2187
2187
. Returns ( 10 )
2188
2188
. SetCategory ( "ParamsKeywordMethod" ) ;
2189
2189
2190
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2190
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2191
2191
, "paramsObj.SumOf2()"
2192
2192
, null )
2193
2193
. Returns ( 0 )
2194
2194
. SetCategory ( "ParamsKeywordMethod" ) ;
2195
2195
2196
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2196
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2197
2197
, "paramsObj.SumOf2(1)"
2198
2198
, null )
2199
2199
. Returns ( 1 )
2200
2200
. SetCategory ( "ParamsKeywordMethod" ) ;
2201
2201
2202
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2202
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2203
2203
, "paramsObj.SumOf2(1,2,3,4)"
2204
2204
, null )
2205
2205
. Returns ( 10 )
2206
2206
. SetCategory ( "ParamsKeywordMethod" ) ;
2207
2207
2208
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2208
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2209
2209
, "string.Join(\" ,\" , 2, 3.5, \" Hello\" , true)"
2210
2210
, null )
2211
2211
. Returns ( "2,3.5,Hello,True" )
2212
2212
. SetCategory ( "ParamsKeywordMethod" ) ;
2213
2213
2214
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2214
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2215
2215
, "string.Join(\" ,\" , 2, 3.5, null, \" Hello\" , true)"
2216
2216
, null )
2217
2217
. Returns ( "2,3.5,,Hello,True" )
2218
2218
. SetCategory ( "ParamsKeywordMethod" ) ;
2219
2219
2220
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2220
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2221
2221
, "\" ,\" .UseAsSepForJoin(2, 3.5, \" Hello\" , true)"
2222
2222
, null )
2223
2223
. Returns ( "2,3.5,Hello,True" )
2224
2224
. SetCategory ( "ParamsKeywordMethod" ) ;
2225
2225
2226
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2226
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2227
2227
, "\" ,\" .UseAsSepForJoin(2, 3.5, null, \" Hello\" , true)"
2228
2228
, null )
2229
2229
. Returns ( "2,3.5,,Hello,True" )
2230
2230
. SetCategory ( "ParamsKeywordMethod" ) ;
2231
2231
2232
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2232
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2233
2233
, "paramsObj.Join(out x, \" ,\" , 2, 3.5, \" Hello\" , true) ?? x"
2234
2234
, null )
2235
2235
. Returns ( "2,3.5,Hello,True" )
2236
2236
. SetCategory ( "ParamsKeywordMethod" ) ;
2237
2237
2238
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2238
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2239
2239
, "paramsObj.Join(out x, \" ,\" , 2, 3.5, null, \" Hello\" , true) ?? x"
2240
2240
, null )
2241
2241
. Returns ( "2,3.5,,Hello,True" )
2242
2242
. SetCategory ( "ParamsKeywordMethod" ) ;
2243
2243
2244
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2244
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2245
2245
, "\" ,\" .UseAsSepForJoin(ref string x, 2, 3.5, \" Hello\" , true) ?? x"
2246
2246
, null )
2247
2247
. Returns ( "2,3.5,Hello,True" )
2248
2248
. SetCategory ( "ParamsKeywordMethod" ) ;
2249
2249
2250
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2250
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2251
2251
, "\" ,\" .UseAsSepForJoin(ref x, 2, 3.5, null, \" Hello\" , true) ?? x"
2252
2252
, null )
2253
2253
. Returns ( "2,3.5,,Hello,True" )
2254
2254
. SetCategory ( "ParamsKeywordMethod" ) ;
2255
2255
2256
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2256
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2257
2257
, "paramsObj.ReturnTrue(2)"
2258
2258
, null )
2259
2259
. Returns ( true )
2260
2260
. SetCategory ( "ParamsKeywordMethod" ) ;
2261
-
2262
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2261
+
2262
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2263
2263
, "paramsObj.ReturnTrue(2, \" Hello\" )"
2264
2264
, null )
2265
2265
. Returns ( true )
2266
2266
. SetCategory ( "ParamsKeywordMethod" ) ;
2267
-
2268
- yield return new TestCaseData ( evaluatorForParamsTests ( )
2267
+
2268
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2269
2269
, "paramsObj.ReturnTrue(2, \" Hello\" , \" Test\" )"
2270
2270
, null )
2271
2271
. Returns ( true )
2272
2272
. SetCategory ( "ParamsKeywordMethod" ) ;
2273
2273
2274
2274
#endregion
2275
2275
2276
+ #region Method parameters with default value
2277
+
2278
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2279
+ , "paramsObj.GetTheDefaultValue()"
2280
+ , null )
2281
+ . Returns ( 10 )
2282
+ . SetCategory ( "ParamsKeywordMethod" ) ;
2283
+
2284
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2285
+ , "paramsObj.GetTheDefaultValue(15)"
2286
+ , null )
2287
+ . Returns ( 15 )
2288
+ . SetCategory ( "ParamsKeywordMethod" ) ;
2289
+
2290
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2291
+ , "paramsObj.GetTheDefaultValue(\" default value is \" )"
2292
+ , null )
2293
+ . Returns ( "default value is 20" )
2294
+ . SetCategory ( "ParamsKeywordMethod" ) ;
2295
+
2296
+ yield return new TestCaseData ( evaluatorForMethodArgs ( )
2297
+ , "paramsObj.GetTheDefaultValue(\" given value is \" , 25)"
2298
+ , null )
2299
+ . Returns ( "given value is 25" )
2300
+ . SetCategory ( "ParamsKeywordMethod" ) ;
2301
+
2302
+ #endregion
2303
+
2276
2304
#region Bug resolution
2277
2305
2278
2306
yield return new TestCaseData ( new ExpressionEvaluator ( )
0 commit comments