public void MapMvcAttributeRoutes_CustomConstraintResolver() { // Arrange var controllerTypes = new[] { typeof(FruitConstraintController) }; var routes = new RouteCollection(); // Act routes.MapMvcAttributeRoutes(controllerTypes, new FruitConstraintResolver()); // Assert Assert.Equal(1, routes.Count); Route route = (Route)routes.Single(); Assert.Equal("fruits/{apple}", route.Url); Assert.IsAssignableFrom<FruitConstraint>(route.Constraints["apple"]); }
public void MapMvcAttributeRoutes_WithPrefixedController() { // Arrange var controllerTypes = new[] { typeof(PrefixedController) }; var routes = new RouteCollection(); // Act routes.MapMvcAttributeRoutes(controllerTypes); // Assert Assert.Equal(1, routes.Count); Route route = (Route)routes.Single(); Assert.Equal("prefpref/getme", route.Url); Assert.Equal("GetMe", route.GetTargetActionMethod().Name); }
public void MapMvcAttributeRoutes_WithPrefixedArea() { // Arrange var controllerTypes = new[] { typeof(PrefixedPugetSoundController) }; var routes = new RouteCollection(); // Act routes.MapMvcAttributeRoutes(controllerTypes); // Assert Assert.Equal(1, routes.Count); Route route = (Route)routes.Single(); Assert.Equal("puget-sound/prefpref/getme", route.Url); Assert.Equal("PugetSound", route.DataTokens["area"]); Assert.Equal(false, route.DataTokens["usenamespacefallback"]); Assert.Equal("GetMe", route.GetTargetActionMethod().Name); Assert.Equal(typeof(PrefixedPugetSoundController).Namespace, ((string[])route.DataTokens["namespaces"])[0]); }