示例#1
0
        public void resolve_entre_regras_ctx_e_assemblyName_e_uris_ok_ficam_handlers_esperados_iguais_ao_retornados_e_ctx_ola_assemblyName_adeus()
        {
            var      c          = new Contracts();
            IHandler hroot      = new RootHandler();
            IHandler hcontext   = new ContextNameHandler();
            IHandler hnamespace = new NamespacePrefixContextHandler();
            IHandler hassembly  = new AssemblyNameContextHandler();

            c.AddRule("/", hroot);
            c.AddRule("/ ", hnamespace);   // exemplo de um terceiro handler, apenas para efeitos de testes
            c.AddRule("/{ctx}", hcontext); // colocar o esperado em ultimo na lista de regrashandlers
            IHandler hres, hres2;
            var      d = c.ResolveUri("/ola", out hres);

            Assert.NotNull(hres);
            Assert.AreEqual(hcontext, hres);
            Assert.AreEqual("ctx", d.First().Key);
            Assert.AreEqual("ola", d.First().Value);
            c.AddRule("/{ctx}/as/{assemblyName}", hassembly); // colocar o esperado em ultimo na lista de regrashandlers
            var d2 = c.ResolveUri("/ola/as/adeus", out hres2);

            Assert.NotNull(hres2);
            Assert.AreEqual(hassembly, hres2);
            Assert.AreEqual("ctx", d2.First().Key);
            Assert.AreEqual("ola", d2.First().Value);
            Assert.AreEqual("assemblyName", d2.Last().Key);
            Assert.AreEqual("adeus", d2.Last().Value);
        }
 public void resolve_entre_regras_ctx_e_assemblyName_e_uris_ok_ficam_handlers_esperados_iguais_ao_retornados_e_ctx_ola_assemblyName_adeus()
 {
     var c = new Contracts();
     IHandler hroot = new RootHandler();
     IHandler hcontext = new ContextNameHandler();
     IHandler hnamespace = new NamespacePrefixContextHandler();
     IHandler hassembly = new AssemblyNameContextHandler();
     c.AddRule("/", hroot);
     c.AddRule("/ ", hnamespace); // exemplo de um terceiro handler, apenas para efeitos de testes
     c.AddRule("/{ctx}", hcontext); // colocar o esperado em ultimo na lista de regrashandlers
     IHandler hres, hres2;
     var d = c.ResolveUri("/ola", out hres);
     Assert.NotNull(hres);
     Assert.AreEqual(hcontext, hres);
     Assert.AreEqual("ctx", d.First().Key);
     Assert.AreEqual("ola", d.First().Value);
     c.AddRule("/{ctx}/as/{assemblyName}", hassembly); // colocar o esperado em ultimo na lista de regrashandlers
     var d2 = c.ResolveUri("/ola/as/adeus", out hres2);
     Assert.NotNull(hres2);
     Assert.AreEqual(hassembly, hres2);
     Assert.AreEqual("ctx", d2.First().Key);
     Assert.AreEqual("ola", d2.First().Value);
     Assert.AreEqual("assemblyName", d2.Last().Key);
     Assert.AreEqual("adeus", d2.Last().Value);
 }