public void WillResolveDefaultMaps(string url, bool postAuth, Type expectedHandler)
            {
                var testable = new TestableHandlerFactory();

                testable.Mock <IUriBuilder>().Setup(
                    x =>
                    x.ParseSignature(
                        "http://host/RRContent/2a24329d1c2973c42028f780dbf86641-e8eb6b1157423f3ce5bebd3289395822-RequestReducedStyle.css"))
                .Returns(Guid.NewGuid().RemoveDashes());
                RRContainer.Current = new Container(x =>
                {
                    x.For <FlushHandler>().Use(new MoqAutoMocker <FlushHandler>().ClassUnderTest);
                    x.For <DashboardHandler>().Use(new MoqAutoMocker <DashboardHandler>().ClassUnderTest);
                    x.For <ReducedContentHandler>().Use(new MoqAutoMocker <ReducedContentHandler>().ClassUnderTest);
                });

                var result = testable.ClassUnderTest.ResolveHandler(new Uri(url), postAuth);

                if (expectedHandler != null)
                {
                    Assert.IsType(expectedHandler, result);
                }
                else
                {
                    Assert.Null(result);
                }
                RRContainer.Current = null;
            }
            public void WillResolveToNullIfThereAreNoMapsGiven()
            {
                var testable = new TestableHandlerFactory();

                var result = testable.ClassUnderTest.ResolveHandler(new Uri("http://host.com/page.fake"), false);

                Assert.Null(result);
            }
            public void WillResolveToNullIfThereAreNoMatchingMaps()
            {
                var testable = new TestableHandlerFactory();

                testable.ClassUnderTest.AddHandlerMap((x, y) => x.AbsolutePath.EndsWith(".fake") ? new FakeHandler() : null);

                var result = testable.ClassUnderTest.ResolveHandler(new Uri("http://host.com/page.notfake"), false);

                Assert.Null(result);
            }
            public void WillResolveAddedMap()
            {
                var testable = new TestableHandlerFactory();

                testable.ClassUnderTest.AddHandlerMap((x, y) => x.AbsolutePath.EndsWith(".fake") ? new FakeHandler() : null);

                var result = testable.ClassUnderTest.ResolveHandler(new Uri("http://host.com/page.fake"), false);

                Assert.IsType <FakeHandler>(result);
            }