private static void AddRouteEntries(SubRouteCollection collector, string areaPrefix, string prefix, IEnumerable<IDirectRouteFactory> factories, IReadOnlyCollection<ActionDescriptor> actions, IInlineConstraintResolver constraintResolver, bool targetIsAction) { foreach (IDirectRouteFactory factory in factories) { RouteEntry entry = CreateRouteEntry(areaPrefix, prefix, factory, actions, constraintResolver, targetIsAction); collector.Add(entry); } }
private void AddRouteEntries(SubRouteCollection collector, string areaPrefix, string prefix, IEnumerable <IRouteInfoProvider> providers, ControllerDescriptor controller, IList <ActionDescriptor> actions, bool routeIsForAction) { foreach (IRouteInfoProvider provider in providers) { RouteEntry entry = CreateRouteEntry(areaPrefix, prefix, provider, controller, actions, routeIsForAction); collector.Add(entry); } }
public void SubRouteCollection_Throws_OnDuplicateNamedRoute() { // Arrange var collection = new SubRouteCollection(); var route1 = new Route("Home/Index", new Mock <IRouteHandler>().Object); var route2 = new Route("Person/Index", new Mock <IRouteHandler>().Object); collection.Add(new RouteEntry { Name = "route", Route = route1 }); var expectedError = "A route named 'route' is already in the route collection. Route names must be unique." + Environment.NewLine + Environment.NewLine + "Duplicates:" + Environment.NewLine + "Person/Index" + Environment.NewLine + "Home/Index"; // Act & Assert Assert.Throws <InvalidOperationException>(() => collection.Add(new RouteEntry { Name = "route", Route = route2 }), expectedError); }