Search in sources :

Example 1 with LazyFederatedServiceCollectionImpl

use of org.onebusaway.federations.impl.LazyFederatedServiceCollectionImpl in project onebusaway-application-modules by camsys.

the class FederatedServiceFactoryBeanTest method go.

@Test
public void go() throws Exception {
    SimpleFederatedService serviceA = Mockito.mock(SimpleFederatedService.class);
    SimpleFederatedService serviceB = Mockito.mock(SimpleFederatedService.class);
    Map<String, List<CoordinateBounds>> firstProviderAgenciesAndCoverage = new HashMap<String, List<CoordinateBounds>>();
    firstProviderAgenciesAndCoverage.put("a1", Arrays.asList(new CoordinateBounds(1, 1, 3, 3), new CoordinateBounds(2, 2, 4, 4)));
    firstProviderAgenciesAndCoverage.put("a2", Arrays.asList(new CoordinateBounds(2, 5, 4, 6)));
    Map<String, List<CoordinateBounds>> secondProviderAgenciesAndCoverage = new HashMap<String, List<CoordinateBounds>>();
    secondProviderAgenciesAndCoverage.put("b1", Arrays.asList(new CoordinateBounds(5, 5, 7, 7), new CoordinateBounds(6, 6, 8, 8)));
    secondProviderAgenciesAndCoverage.put("b2", Arrays.asList(new CoordinateBounds(5, 2, 7, 4)));
    Mockito.when(serviceA.getAgencyIdsWithCoverageArea()).thenReturn(firstProviderAgenciesAndCoverage);
    Mockito.when(serviceB.getAgencyIdsWithCoverageArea()).thenReturn(secondProviderAgenciesAndCoverage);
    LazyFederatedServiceCollectionImpl collection = new LazyFederatedServiceCollectionImpl();
    collection.setServiceInterface(SimpleFederatedService.class);
    collection.setServiceProviders(Arrays.asList(serviceA, serviceB));
    FederatedServiceFactoryBean factory = new FederatedServiceFactoryBean();
    factory.setCollection(collection);
    factory.setServiceInterface(SimpleFederatedService.class);
    factory.afterPropertiesSet();
    SimpleFederatedService service = (SimpleFederatedService) factory.getObject();
    service.getValueForId("a1_test1");
    service.getValueForId("a2_test2");
    service.getValueForId("b1_test3");
    service.getValueForId("b2_test4");
    Mockito.verify(serviceA).getValueForId("a1_test1");
    Mockito.verify(serviceA).getValueForId("a2_test2");
    Mockito.verify(serviceB).getValueForId("b1_test3");
    Mockito.verify(serviceB).getValueForId("b2_test4");
}
Also used : HashMap(java.util.HashMap) LazyFederatedServiceCollectionImpl(org.onebusaway.federations.impl.LazyFederatedServiceCollectionImpl) List(java.util.List) CoordinateBounds(org.onebusaway.geospatial.model.CoordinateBounds) Test(org.junit.Test)

Aggregations

HashMap (java.util.HashMap)1 List (java.util.List)1 Test (org.junit.Test)1 LazyFederatedServiceCollectionImpl (org.onebusaway.federations.impl.LazyFederatedServiceCollectionImpl)1 CoordinateBounds (org.onebusaway.geospatial.model.CoordinateBounds)1