public async Task TestCaseExpression() { var config = new MustacheConfigSchema() { Params = new List <Param> { new Param { Name = "MySql", DefaultValue = "true" }, new Param { Name = "MySqlEFCore", DefaultValue = "false" }, new Param { Name = "C", DefaultValue = "false" }, }, }; var dv = new Dictionary <string, string> { { "TargetFrameworkVersion", "netcoreapp2.2" }, }; var calcParam = new CalculatedParam { Name = "AspNetCoreVersion", Expression = "TargetFrameworkVersion,netcoreapp2.2=2.2.0,netcoreapp2.1=2.1.1,default=False", ExpressionType = ExpressionTypeEnum.Case, }; var expression = new CaseExpression(_logger, calcParam, config); var result = await expression.EvaluateExpressionAsync(dv); Assert.Equal("2.2.0", result); }