RouteCollectionEntriesFactory { public void processRouteCollections(TransitGraphImpl graph) { if (_groupRoutesByShortName) { createRouteShortNameRouteCollectionMapping(graph); } else { createOneToOneRouteCollectionMapping(graph); } groupRouteCollectionsByAgencyId(graph); graph.refreshRouteCollectionMapping(); }  @Autowired void setGtfsDao(GtfsRelationalDao gtfsDao); @Autowired void setUniqueService(UniqueService uniqueService); void setGroupRoutesByShortName(boolean groupRoutesByShortName); void processRouteCollections(TransitGraphImpl graph);  }
@Test public void testProcessRouteCollections() { TransitGraphImpl graph = new TransitGraphImpl(); AgencyEntryImpl agency = new AgencyEntryImpl(); agency.setId("A"); graph.putAgencyEntry(agency); graph.refreshAgencyMapping(); RouteEntryImpl routeA = new RouteEntryImpl(); routeA.setId(new AgencyAndId("A", "routeA")); graph.putRouteEntry(routeA); RouteEntryImpl routeB = new RouteEntryImpl(); routeB.setId(new AgencyAndId("A", "routeB")); graph.putRouteEntry(routeB); RouteCollectionEntriesFactory factory = new RouteCollectionEntriesFactory(); GtfsRelationalDao gtfsDao = Mockito.mock(GtfsRelationalDao.class); factory.setGtfsDao(gtfsDao); factory.setUniqueService(new UniqueServiceImpl()); factory.processRouteCollections(graph); RouteCollectionEntry routeEntryA = graph.getRouteCollectionForId(routeA.getId()); assertEquals(routeA.getId(), routeEntryA.getId()); List<RouteEntry> routes = routeEntryA.getChildren(); assertEquals(1, routes.size()); assertTrue(routes.contains(routeA)); RouteCollectionEntry routeEntryB = graph.getRouteCollectionForId(routeB.getId()); assertEquals(routeB.getId(), routeEntryB.getId()); routes = routeEntryB.getChildren(); assertEquals(1, routes.size()); assertTrue(routes.contains(routeB)); List<RouteCollectionEntry> routeCollections = graph.getAllRouteCollections(); assertEquals(2, routeCollections.size()); assertTrue(routeCollections.contains(routeEntryA)); assertTrue(routeCollections.contains(routeEntryB)); routeCollections = agency.getRouteCollections(); assertEquals(2, routeCollections.size()); assertTrue(routeCollections.contains(routeEntryA)); assertTrue(routeCollections.contains(routeEntryB)); }