@Test public void testKeySetReturnsUnmodifiableSet() { try (ServiceTrackerMap<String, TrackedOne> serviceTrackerMap = createServiceTrackerMap()) { ServiceRegistration<TrackedOne> serviceRegistration1 = registerService(new TrackedOne(), "aTarget1"); ServiceRegistration<TrackedOne> serviceRegistration2 = registerService(new TrackedOne(), "aTarget1"); ServiceRegistration<TrackedOne> serviceRegistration3 = registerService(new TrackedOne(), "aTarget2"); ServiceRegistration<TrackedOne> serviceRegistration4 = registerService(new TrackedOne(), "aTarget2"); Set<String> keySet = serviceTrackerMap.keySet(); try { keySet.remove("aTarget1"); Assert.fail(); } catch (UnsupportedOperationException uoe) { } serviceRegistration1.unregister(); serviceRegistration2.unregister(); serviceRegistration3.unregister(); serviceRegistration4.unregister(); } }
@Test public void testKeySet() { try (ServiceTrackerMap<String, TrackedOne> serviceTrackerMap = createServiceTrackerMap()) { ServiceRegistration<TrackedOne> serviceRegistration1 = registerService(new TrackedOne(), "aTarget1"); ServiceRegistration<TrackedOne> serviceRegistration2 = registerService(new TrackedOne(), "aTarget1"); ServiceRegistration<TrackedOne> serviceRegistration3 = registerService(new TrackedOne(), "aTarget2"); ServiceRegistration<TrackedOne> serviceRegistration4 = registerService(new TrackedOne(), "aTarget2"); Set<String> targets = new HashSet<>(); targets.add("aTarget1"); targets.add("aTarget2"); Assert.assertEquals(targets, serviceTrackerMap.keySet()); serviceRegistration1.unregister(); serviceRegistration2.unregister(); serviceRegistration3.unregister(); serviceRegistration4.unregister(); } }