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; }
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 ) ); }
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" ); }