use of org.onebusaway.container.refresh.RefreshService in project onebusaway-application-modules by camsys.
the class ShapeGeospatialIndexTaskTest method test.
@Test
public void test() throws IOException, ClassNotFoundException {
ShapeGeospatialIndexTask task = new ShapeGeospatialIndexTask();
File path = File.createTempFile(ShapeGeospatialIndexTaskTest.class.getName(), ".tmp");
path.delete();
path.deleteOnExit();
FederatedTransitDataBundle bundle = Mockito.mock(FederatedTransitDataBundle.class);
Mockito.when(bundle.getShapeGeospatialIndexDataPath()).thenReturn(path);
task.setBundle(bundle);
RefreshService refreshService = Mockito.mock(RefreshService.class);
task.setRefreshService(refreshService);
ShapePointHelper shapePointHelper = Mockito.mock(ShapePointHelper.class);
task.setShapePointHelper(shapePointHelper);
TransitGraphDao transitGraphDao = Mockito.mock(TransitGraphDao.class);
task.setTransitGraphDao(transitGraphDao);
StopEntry stopA = stop("stopA", 47.65, -122.32);
StopEntry stopB = stop("stopB", 47.67, -122.30);
Mockito.when(transitGraphDao.getAllStops()).thenReturn(Arrays.asList(stopA, stopB));
TripEntryImpl tripA = trip("tripA");
AgencyAndId shapeIdA = aid("shapeA");
tripA.setShapeId(shapeIdA);
TripEntryImpl tripB = trip("tripB");
AgencyAndId shapeIdB = aid("shapeB");
tripB.setShapeId(shapeIdB);
Mockito.when(transitGraphDao.getAllTrips()).thenReturn(Arrays.asList((TripEntry) tripA, tripB));
ShapePointsFactory factory = new ShapePointsFactory();
factory.addPoint(47.652300128129454, -122.30622018270873);
factory.addPoint(47.653181844549394, -122.30523312979125);
factory.addPoint(47.654265901710744, -122.30511511259459);
ShapePoints shapeA = factory.create();
factory = new ShapePointsFactory();
factory.addPoint(47.661275594717026, -122.31189573698424);
factory.addPoint(47.661347854692465, -122.3240622370758);
factory.addPoint(47.661368177792546, -122.32508885257624);
factory.addPoint(47.66496659665593, -122.32501375072383);
ShapePoints shapeB = factory.create();
Mockito.when(shapePointHelper.getShapePointsForShapeId(shapeIdA)).thenReturn(shapeA);
Mockito.when(shapePointHelper.getShapePointsForShapeId(shapeIdB)).thenReturn(shapeB);
task.run();
Mockito.verify(refreshService).refresh(RefreshableResources.SHAPE_GEOSPATIAL_INDEX);
Map<CoordinateBounds, List<AgencyAndId>> shapeIdsByBounds = ObjectSerializationLibrary.readObject(path);
assertEquals(5, shapeIdsByBounds.size());
CoordinateBounds b = new CoordinateBounds(47.65048049686506, -122.30767397879845, 47.654977097836735, -122.300997795721);
assertEquals(Arrays.asList(shapeIdA), shapeIdsByBounds.get(b));
b = new CoordinateBounds(47.65947369880841, -122.32102634495334, 47.66397029978009, -122.3143501618759);
assertEquals(Arrays.asList(shapeIdB), shapeIdsByBounds.get(b));
b = new CoordinateBounds(47.66397029978009, -122.32770252803078, 47.66846690075177, -122.32102634495334);
assertEquals(Arrays.asList(shapeIdB), shapeIdsByBounds.get(b));
b = new CoordinateBounds(47.65947369880841, -122.3143501618759, 47.66397029978009, -122.30767397879845);
assertEquals(Arrays.asList(shapeIdB), shapeIdsByBounds.get(b));
b = new CoordinateBounds(47.65947369880841, -122.32770252803078, 47.66397029978009, -122.32102634495334);
assertEquals(Arrays.asList(shapeIdB), shapeIdsByBounds.get(b));
}
use of org.onebusaway.container.refresh.RefreshService in project onebusaway-application-modules by camsys.
the class TransitGraphTaskTest method testInterpolation.
@Test
public void testInterpolation() throws IOException, ClassNotFoundException {
AgencyEntriesFactory agencyEntriesFactory = Mockito.mock(AgencyEntriesFactory.class);
BlockEntriesFactory blockEntriesFactory = Mockito.mock(BlockEntriesFactory.class);
RouteCollectionEntriesFactory routeCollectionEntriesFactory = Mockito.mock(RouteCollectionEntriesFactory.class);
RouteEntriesFactory routeEntriesFactory = Mockito.mock(RouteEntriesFactory.class);
StopEntriesFactory stopEntriesFactory = Mockito.mock(StopEntriesFactory.class);
TripEntriesFactory tripEntriesFactory = Mockito.mock(TripEntriesFactory.class);
FrequencyEntriesFactory frequencyEntriesFactory = Mockito.mock(FrequencyEntriesFactory.class);
RefreshService refreshService = Mockito.mock(RefreshService.class);
TransitGraphTask task = new TransitGraphTask();
task.setAgencyEntriesFactory(agencyEntriesFactory);
task.setBlockEntriesFactory(blockEntriesFactory);
task.setRouteCollectionEntriesFactroy(routeCollectionEntriesFactory);
task.setRouteEntriesFactory(routeEntriesFactory);
task.setStopEntriesFactory(stopEntriesFactory);
task.setTripEntriesFactory(tripEntriesFactory);
task.setFrequencyEntriesFactory(frequencyEntriesFactory);
task.setRefreshService(refreshService);
File path = File.createTempFile("TemporaryBundleDirectory-", "");
path.delete();
FederatedTransitDataBundle bundle = Mockito.mock(FederatedTransitDataBundle.class);
Mockito.when(bundle.getTransitGraphPath()).thenReturn(path);
task.setBundle(bundle);
task.run();
Mockito.verify(agencyEntriesFactory).processAgencies(Mockito.any(TransitGraphImpl.class));
Mockito.verify(routeEntriesFactory).processRoutes(Mockito.any(TransitGraphImpl.class));
Mockito.verify(routeCollectionEntriesFactory).processRouteCollections(Mockito.any(TransitGraphImpl.class));
Mockito.verify(stopEntriesFactory).processStops(Mockito.any(TransitGraphImpl.class));
Mockito.verify(tripEntriesFactory).processTrips(Mockito.any(TransitGraphImpl.class));
Mockito.verify(refreshService).refresh(RefreshableResources.TRANSIT_GRAPH);
assertTrue(path.exists());
TransitGraphImpl graph = ObjectSerializationLibrary.readObject(path);
assertNotNull(graph);
}
Aggregations