コード例 #1
0
        public void the_same_handler_can_be_registered_for_two_resources()
        {
            var gilGalad = TypeSystems.Default.FromClr(typeof(GilGalad));

            var repo = new HandlerRepository();

            repo.AddResourceHandler("Narya", gilGalad);
            repo.AddResourceHandler("Vilya", gilGalad);

            repo.GetHandlerTypesFor("Narya").FirstOrDefault().ShouldBe(gilGalad);
            repo.GetHandlerTypesFor("Vilya").FirstOrDefault().ShouldBe(gilGalad);
        }
        public void the_first_handler_is_returned_when_two_handlers_are_registered_for_the_same_key()
        {
            var handler1 = TypeSystems.Default.FromClr(typeof(Sauron));
            var handler2 = TypeSystems.Default.FromClr(typeof(Frodo));

            var repo = new HandlerRepository();

            repo.AddResourceHandler("ring of power", handler1);
            repo.AddResourceHandler("ring of power", handler2);

            repo.GetHandlerTypesFor("ring of power").FirstOrDefault().ShouldBe(handler1);
        }
        public void two_handlers_can_be_registered_for_the_same_key()
        {
            var handler1 = TypeSystems.Default.FromClr(typeof(Sauron));
            var handler2 = TypeSystems.Default.FromClr(typeof(Frodo));

            var repo = new HandlerRepository();

            repo.AddResourceHandler("ring of power", handler1);
            repo.AddResourceHandler("ring of power", handler2);

            repo.GetHandlerTypesFor("ring of power").ShouldBe(new[] { handler1, handler2 });
        }