public dynamic Compile(string[] args) { var compEnv = new AppCfgEnvironmentCompiler(); var compConfigfile = new AppCfgConfigfileCompiler(_schema.Filepath); var compCommandline = new AppCfgCommandlineCompiler(args); var cfg = new Dictionary <string, object>(); var route = Determine_route(args); cfg["_RoutePath"] = route.Path; compEnv.Compile(route, cfg); compConfigfile.Compile(route, cfg); compCommandline.Compile(route, cfg); return(Finalize(route, cfg)); }
public void Compile() { var args = new[] { "route", "-bool", "--int:42", "/double", "3.14", "-datetime=12.5.17 10:53:17", "1", "2" }; var route = new Route("route") .Param("int", valueType: ValueTypes.Number) .Param("datetime", valueType: ValueTypes.DateTime) .Param("b", "bool") .Param("double", valueType: ValueTypes.Number) .Param("*", valueType: ValueTypes.Number); var sut = new AppCfgCommandlineCompiler(args); dynamic result = new ExpandoObject(); sut.Compile(route, result); var cfg = (IDictionary <string, object>)result; Assert.AreEqual(5, cfg.Count); }