public void DefaultRouteMatchesHome()
        {
            // Arrange
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            // Act
            var context = new FakeHttpContext("~/Home");
            var routeData = routes.GetRouteData(context);

            // Assert
            var matchedRoute = (NamedRoute)routeData.Route;
            Assert.AreEqual("Default", matchedRoute.Name);
        }
        public void ProductInsertMatchesPost()
        {
            // Arrange
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            // Act
            var context = new FakeHttpContext("~/Product/Insert", "POST", false, null);
            var routeData = routes.GetRouteData(context);

            // Assert
            var matchedRoute = (NamedRoute)routeData.Route;
            Assert.AreEqual("ProductInsert", matchedRoute.Name);
        }
        public void ArchiveYear()
        {
            // Arrange
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            // Act
            var context = new FakeHttpContext("~/Archive/2008");
            var routeData = routes.GetRouteData(context);

            // Assert
            var matchedRoute = (NamedRoute)routeData.Route;
            Assert.AreEqual("ArchiveYear", matchedRoute.Name);
            Assert.AreEqual("2008", routeData.Values["year"]);
        }
        public void ArchiveYearMonthDayName()
        {
            // Arrange
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            // Act
            var context = new FakeHttpContext("~/Archive/2008/12/25/Test");
            var routeData = routes.GetRouteData(context);

            // Assert
            var matchedRoute = (NamedRoute)routeData.Route;
            Assert.AreEqual("ArchiveFull", matchedRoute.Name);
            Assert.AreEqual("2008", routeData.Values["year"]);
            Assert.AreEqual("12", routeData.Values["month"]);
            Assert.AreEqual("25", routeData.Values["day"]);
            Assert.AreEqual("Test", routeData.Values["name"]);
        }
        public void RequestLifetimeManagerExtensionReturnsSameObjectForSameRequest()
        {
            var context1 = new FakeHttpContext("Http://fakeUrl1.com");
            var context2 = new FakeHttpContext("Http://fakeUrl2.com");

            using (var container = new IocContainer())
            {
                container.Register<IFoo>(c => new Foo1()).AsRequestSingleton();
                LifetimeExtensions.HttpContext = context1;
                var result1 = container.Resolve<IFoo>();
                var result2 = container.Resolve<IFoo>();
                LifetimeExtensions.HttpContext = context2;
                var result3 = container.Resolve<IFoo>();
                Verify.That(result3).IsNotNull();
                Verify.That(result2).IsNotNull();
                Verify.That(result1).IsNotNull().IsTheSameObjectAs(result2).IsNotTheSameObjectAs(result3);
            }
        }
        public void SessionLifetimeManagerExtensionReturnsDifferentObjectForDifferentSession()
        {
            var sessionItems1 = new SessionStateItemCollection();
            var sessionItems2 = new SessionStateItemCollection();
            var context1 = new FakeHttpContext("Http://fakeUrl1.com", null, null, null, null, sessionItems1);
            var context2 = new FakeHttpContext("Http://fakeUrl2.com", null, null, null, null, sessionItems2);

            using (var container = new IocContainer())
            {
                container.Register<IFoo>(c => new Foo1()).AsSessionSingleton();
                LifetimeExtensions.HttpContext = context1;
                var result1 = container.Resolve<IFoo>();
                var result2 = container.Resolve<IFoo>();
                LifetimeExtensions.HttpContext = context2;
                var result3 = container.Resolve<IFoo>();
                Verify.That(result3).IsNotNull();
                Verify.That(result2).IsNotNull();
                Verify.That(result1).IsNotNull().IsTheSameObjectAs(result2).IsNotTheSameObjectAs(result3);
            }
        }
        public void RequestLifetimeManagerReturnsSameObjectForSameRequest()
        {
            var context1 = new FakeHttpContext("Http://fakeUrl1.com");
            var context2 = new FakeHttpContext("Http://fakeUrl2.com");

            var requestltm = new RequestLifetime();

            using (var container = new IocContainer())
            {
                container.Register<IFoo>(c => new Foo1()).WithLifetimeManager(requestltm);
                RequestLifetime.SetContext(context1);
                var result1 = container.Resolve<IFoo>();
                var result2 = container.Resolve<IFoo>();
                RequestLifetime.SetContext(context2);
                var result3 = container.Resolve<IFoo>();
                Verify.That(result3).IsNotNull();
                Verify.That(result2).IsNotNull();
                Verify.That(result1).IsNotNull().IsTheSameObjectAs(result2).IsNotTheSameObjectAs(result3);
            }
        }
        public void SessionLifetimeManagerReturnsDifferentObjectForDifferentSession()
        {
            var sessionItems1 = new SessionStateItemCollection();
            var sessionItems2 = new SessionStateItemCollection();
            var context1 = new FakeHttpContext("Http://fakeUrl1.com", null, null, null, null, sessionItems1);
            var context2 = new FakeHttpContext("Http://fakeUrl2.com", null, null, null, null, sessionItems2);

            var sessionltm = new SessionLifetime();

            var container = new IocContainer();
            container.Register<IFoo>(c => new Foo1())
                .WithLifetimeManager(sessionltm);

            sessionltm.SetContext(context1);

            var result1 = container.Resolve<IFoo>();
            var result2 = container.Resolve<IFoo>();

            sessionltm.SetContext(context2);

            var result3 = container.Resolve<IFoo>();

            Verify.That(result3).IsNotNull();
            Verify.That(result2).IsNotNull();
            Verify.That(result1).IsNotNull()
                        .IsTheSameObjectAs(result2)
                        .IsNotTheSameObjectAs(result3);
        }
Exemple #9
0
        public void SessionLifetimeManagerReturnsSameObjectForSameSession()
        {
            var sessionItems = new SessionStateItemCollection();
            var context1 = new FakeHttpContext("Http://fakeUrl1.com",null,null,null,null,sessionItems);
            var context2 = new FakeHttpContext("Http://fakeUrl2.com",null,null,null,null,sessionItems);

            var sessionltm = new SessionLifetime();

            var container = new Container();
            container.Register<IFoo>(c => new Foo1())
                .WithLifetimeManager(sessionltm);

            sessionltm.SetContext(context1);

            var result1 = container.Resolve<IFoo>();
            var result2 = container.Resolve<IFoo>();

            sessionltm.SetContext(context2);

            var result3 = container.Resolve<IFoo>();

            Assert.IsNotNull(result1);
            Assert.IsNotNull(result2);
            Assert.IsNotNull(result3);

            Assert.AreSame(result1, result2);   // same request and session
            Assert.AreSame(result2, result3);   // different requests, same session
        }
Exemple #10
0
        public void RequestLifetimeManagerReturnsSameObjectForSameRequest()
        {
            var context1 = new FakeHttpContext("Http://fakeUrl1.com");
            var context2 = new FakeHttpContext("Http://fakeUrl2.com");

            var requestltm = new RequestLifetime();

            var container = new Container();
            container.Register<IFoo>(c => new Foo1())
                .WithLifetimeManager(requestltm);

            requestltm.SetContext(context1);

            var result1 = container.Resolve<IFoo>();
            var result2 = container.Resolve<IFoo>();

            requestltm.SetContext(context2);

            var result3 = container.Resolve<IFoo>();

            Assert.IsNotNull(result1);
            Assert.IsNotNull(result2);
            Assert.IsNotNull(result3);

            Assert.AreSame(result1, result2);       // same request
            Assert.AreNotSame(result2, result3);    // different request
        }
 public ActionResult Index(string url, string httpVerb)
 {
     var context = new FakeHttpContext(MakeAppRelative(url), httpVerb);
     var debuggerView = new DebuggerView(url, httpVerb, context);
     return Content(debuggerView.ExecuteResult(), "text/html");
 }