示例#1
0
        public void Compile_with_missing_config_file()
        {
            var route = new Route("").Param("x");

            var sut = new AppCfgConfigfileCompiler("config missing");

            dynamic cfg = new ExpandoObject();

            sut.Compile(route, cfg);

            Assert.IsFalse(File.Exists("config missing"));
            Assert.AreEqual(0, ((IDictionary <string, object>)cfg).Count);
        }
示例#2
0
        public void Compile_skips_missing_optional_param()
        {
            var route = new Route("")
                        .Param("param1", " p1 ; pOne")
                        .Param("missing");

            var sut = new AppCfgConfigfileCompiler("config1.json");

            IDictionary <string, object> cfg = new Dictionary <string, object>();

            sut.Compile(route, cfg);

            Assert.AreEqual(1, cfg.Count);
            Assert.AreEqual("1", cfg["param1"]);
        }
示例#3
0
        public void Compile()
        {
            var route = new Route("")
                        .Param("param1", " p1 ; pOne")
                        .Param("param2");

            var sut = new AppCfgConfigfileCompiler("config1.json");

            dynamic cfg = new ExpandoObject();

            sut.Compile(route, cfg);

            Assert.AreEqual("1", cfg.param1);
            Assert.AreEqual("2", cfg.param2);
        }
示例#4
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));
        }