예제 #1
0
  @Test
  public void testAddSameService() {
    // Register One Dependency
    ServiceTracker stringTracker = serviceBinder.createTracker(String.class);
    Assert.assertNotNull(stringTracker);
    stringTracker.open();

    stringTracker.addingService(serviceReference1);
    Assert.assertTrue(handler.wasOnActivateCalled());
    Assert.assertFalse(handler.wasOnServiceAddedCalled());
    Assert.assertFalse(handler.wasOnServiceRemovedCalled());
    Assert.assertFalse(handler.wasOnDeactivateCalled());

    handler.reset();
    stringTracker.addingService(serviceReference1);
    Assert.assertFalse(handler.wasOnActivateCalled());
    Assert.assertTrue(handler.wasOnServiceAddedCalled());
    Assert.assertFalse(handler.wasOnServiceRemovedCalled());
    Assert.assertFalse(handler.wasOnDeactivateCalled());

    Pair<Class<?>, Object> addedService = handler.getServiceAdded();
    Assert.assertNotNull(addedService);
    Assert.assertEquals(String.class, addedService.getFirst());
    Assert.assertEquals(serviceObject1, addedService.getSecond());
  }