Пример #1
0
        private RouteData TestRoute( string url, object expectedValues )
        {
            //Arrange
            RouteCollection routeCollection = new RouteCollection();
            MvcApplication.RegisterRoutes( routeCollection );
            var mockHttpContext = new MockHttpContext().MakeMockHttpContext( url );

            //Act
            RouteData routeData = routeCollection.GetRouteData( mockHttpContext.Object );

            //Assert
            Assert.IsNotNull( routeData, "Null RouteData was returned" );
            Assert.IsNotNull( routeData.Route, "No route was matched" );

            var expectedDict = new RouteValueDictionary( expectedValues );

            foreach ( var item in expectedDict )
            {
                if ( item.Value == null )
                    Assert.IsNull( routeData.Values[item.Key] );
                else
                    Assert.AreEqual( item.Value.ToString(), routeData.Values[item.Key].ToString() );
            }

            return routeData;
        }
Пример #2
0
        private VirtualPathData GenerateUrlViaMock( object values )
        {
            //Arrange
            RouteCollection routeCollection = new RouteCollection();
            MvcApplication.RegisterRoutes( routeCollection );
            var mockHttpContext = new MockHttpContext().MakeMockHttpContext( null );
            RequestContext context = new RequestContext( mockHttpContext.Object, new RouteData() );

            //Act
            return routeCollection.GetVirtualPath( context, new RouteValueDictionary( values ) );
        }
Пример #3
0
        public void ForwardSlashGoesToHomeIndex()
        {
            //Arrange
            RouteCollection routeCollection = new RouteCollection();
            MvcApplication.RegisterRoutes( routeCollection );
            var mockHttpContext = new MockHttpContext().MakeMockHttpContext( "~/" );

            //Act
            RouteData routeData = routeCollection.GetRouteData( mockHttpContext.Object );

            //Assert
            Assert.IsNotNull( routeData, "Null RouteData was returned" );
            Assert.IsNotNull( routeData.Route, "No route was matched" );
            Assert.AreEqual( "Pages", routeData.Values["controller"], "Wrong controller" );
            Assert.AreEqual( "Index", routeData.Values["action"], "Wrong action" );
        }