private void confirmSessionIdNotInUse(final int sessionId) { if (activeSessionIds.contains(sessionId)) { throw new IllegalStateException("existing publication has same session id: " + sessionId); } }
@Test public void containsValuesAddedFromIntersectingSet() { addTwoElements(testSet); final HashSet<Integer> intersecting = new HashSet<>(); intersecting.add(1); intersecting.add(1002); assertTrue(testSet.addAll(intersecting)); assertTrue(testSet.contains(1)); assertTrue(testSet.contains(1001)); assertTrue(testSet.containsAll(intersecting)); }
/** * {@inheritDoc} */ public boolean contains(final Object value) { return value instanceof Integer && contains(((Integer)value).intValue()); }
@Test public void containsValuesAddedFromDisjointSet() { addTwoElements(testSet); final HashSet<Integer> disjoint = new HashSet<>(); disjoint.add(2); disjoint.add(1002); assertTrue(testSet.addAll(disjoint)); assertTrue(testSet.contains(1)); assertTrue(testSet.contains(1001)); assertTrue(testSet.containsAll(disjoint)); }
private int nextAvailableSessionId() { while (true) { int sessionId = nextSessionId++; if (ctx.publicationReservedSessionIdLow() <= sessionId && sessionId <= ctx.publicationReservedSessionIdHigh()) { nextSessionId = ctx.publicationReservedSessionIdHigh() + 1; sessionId = nextSessionId++; } if (!activeSessionIds.contains(sessionId)) { return sessionId; } } }
@Test public void doesNotContainRemovedIntersectingSet() { addTwoElements(testSet); final HashSet<Integer> intersecting = new HashSet<>(); intersecting.add(1); intersecting.add(1002); assertTrue(testSet.removeAll(intersecting)); assertTrue(testSet.contains(1001)); assertFalse(testSet.containsAll(intersecting)); }
@Test public void shouldNotContainMissingValueInitially() { assertFalse(testSet.contains(MISSING_VALUE)); }
@Test public void containsValuesAddedFromDisjointSetPrimitive() { addTwoElements(testSet); final IntHashSet disjoint = new IntHashSet(100); disjoint.add(2); disjoint.add(1002); assertTrue(testSet.addAll(disjoint)); assertTrue(testSet.contains(1)); assertTrue(testSet.contains(1001)); assertTrue(testSet.containsAll(disjoint)); }
@Test public void containsValuesAddedFromIntersectingSetPrimitive() { addTwoElements(testSet); final IntHashSet intersecting = new IntHashSet(100); intersecting.add(1); intersecting.add(1002); assertTrue(testSet.addAll(intersecting)); assertTrue(testSet.contains(1)); assertTrue(testSet.contains(1001)); assertTrue(testSet.containsAll(intersecting)); }
@Test public void doesNotContainRemovedIntersectingSetPrimitive() { addTwoElements(testSet); final IntHashSet intersecting = new IntHashSet(100); intersecting.add(1); intersecting.add(1002); assertTrue(testSet.removeAll(intersecting)); assertTrue(testSet.contains(1001)); assertFalse(testSet.containsAll(intersecting)); }
@Test public void containsAddedElement() { assertTrue(testSet.add(1)); assertTrue(testSet.contains(1)); }
@Test public void shouldResizeWhenItHitsCapacity() { for (int i = 0; i < 2 * INITIAL_CAPACITY; i++) { assertTrue(testSet.add(i)); } for (int i = 0; i < 2 * INITIAL_CAPACITY; i++) { assertTrue(testSet.contains(i)); } }
public void removeSubscription(final int streamId) { final StreamInterest streamInterest = streamInterestByIdMap.get(streamId); if (null == streamInterest) { throw new UnknownSubscriptionException("No subscription registered on stream " + streamId); } for (final int sessionId : streamInterest.sessionInterestByIdMap.keySet()) { final SessionInterest sessionInterest = streamInterest.sessionInterestByIdMap.get(sessionId); if (!streamInterest.subscribedSessionIds.contains(sessionId)) { if (null != sessionInterest.image) { sessionInterest.image.ifActiveGoInactive(); } streamInterest.sessionInterestByIdMap.remove(sessionId); } } streamInterest.isForAllSessions = false; if (streamInterest.subscribedSessionIds.isEmpty()) { streamInterestByIdMap.remove(streamId); } }
@Test public void shouldRemoveMissingValueWhenCleared() { assertTrue(testSet.add(MISSING_VALUE)); testSet.clear(); assertFalse(testSet.contains(MISSING_VALUE)); }
@Test public void removingAPresentElementRemovesIt() { assertTrue(testSet.add(1)); assertTrue(testSet.remove(1)); assertFalse(testSet.contains(1)); }
@Test public void shouldAllowMissingValue() { assertTrue(testSet.add(MISSING_VALUE)); assertTrue(testSet.contains(MISSING_VALUE)); assertFalse(testSet.add(MISSING_VALUE)); }
@Test public void shouldAllowRemovalOfMissingValue() { assertTrue(testSet.add(MISSING_VALUE)); assertTrue(testSet.remove(MISSING_VALUE)); assertFalse(testSet.contains(MISSING_VALUE)); assertFalse(testSet.remove(MISSING_VALUE)); }
@Test public void iteratorCanRemoveMissingValue() { addTwoElements(testSet); testSet.add(MISSING_VALUE); final IntHashSet.IntIterator iterator = testSet.iterator(); while (iterator.hasNext()) { if (iterator.nextValue() == MISSING_VALUE) { iterator.remove(); } } assertFalse(testSet.contains(MISSING_VALUE)); }