@Test public void unregisterWhenEmpty() { tracker.removedService(ref1, null); assertTrue(observers.isEmpty()); }
@Test public void unregisterTwice() { tracker.addingService(ref1); assertEquals(ImmutableSet.of(observer1), observers); tracker.removedService(ref1, null); assertTrue(observers.isEmpty()); // Removing a removed service should have no effect tracker.removedService(ref1, null); assertTrue(observers.isEmpty()); }
@Test public void registerUnregister() { tracker.addingService(ref1); assertEquals(ImmutableSet.of(observer1), observers); tracker.addingService(ref2); assertEquals(ImmutableSet.of(observer1, observer2), observers); tracker.removedService(ref1, null); assertEquals(ImmutableSet.of(observer2), observers); tracker.removedService(ref2, null); assertTrue(observers.isEmpty()); }