Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }