/** * Compact the backing arrays by rehashing with a capacity just larger than current size * and giving consideration to the load factor. */ public void compact() { final int idealCapacity = (int)Math.round(size() * (1.0 / loadFactor)); rehash(findNextPositivePowerOfTwo(Math.max(DEFAULT_INITIAL_CAPACITY, idealCapacity))); }
if (c.size() != size())
@Test public void sizeIsInitiallyZero() { assertEquals(0, testSet.size()); }
@Test public void sizeIsInitiallyZero() { assertEquals(0, testSet.size()); }
@Test public void sizeIncrementsWithNumberOfAddedElements() { addTwoElements(testSet); assertEquals(2, testSet.size()); }
@Test public void sizeIncrementsWithNumberOfAddedElements() { addTwoElements(testSet); assertEquals(2, testSet.size()); }
@Test @SuppressWarnings("ToArrayCallWithZeroLengthArrayArgument") public void toArraySupportsEmptyCollection() { final String[] result = testSet.toArray(new String[testSet.size()]); assertArrayEquals(result, new String[]{}); }
@Test @SuppressWarnings("ToArrayCallWithZeroLengthArrayArgument") public void toArrayCopiesElementsIntoNewArray() { addTwoElements(testSet); final String[] result = testSet.toArray(new String[testSet.size()]); assertArrayContainingElements(result); }
@Test public void reducesSizeWhenElementRemoved() { addTwoElements(testSet); testSet.remove(1001); assertEquals(1, testSet.size()); }
@Test public void sizeContainsNumberOfNewElements() { testSet.add("1"); testSet.add("1"); assertEquals(1, testSet.size()); }
@Test public void reducesSizeWhenElementRemoved() { addTwoElements(testSet); testSet.remove("1001"); assertEquals(1, testSet.size()); }
@Test @SuppressWarnings("OverwrittenKey") public void sizeContainsNumberOfNewElements() { testSet.add(1); testSet.add(1); assertEquals(1, testSet.size()); }
@Test @SuppressWarnings("ToArrayCallWithZeroLengthArrayArgument") public void toArrayCopiesElementsIntoSufficientlySizedArray() { addTwoElements(testSet); final String[] result = testSet.toArray(new String[testSet.size()]); assertArrayContainingElements(result); }
@Test public void clearRemovesAllElementsOfTheSet() { addTwoElements(testSet); testSet.clear(); assertEquals(0, testSet.size()); assertFalse(testSet.contains(1)); assertFalse(testSet.contains(1001)); }
@Test public void clearRemovesAllElementsOfTheSet() { addTwoElements(testSet); testSet.clear(); assertEquals(0, testSet.size()); assertFalse(testSet.contains("1")); assertFalse(testSet.contains("1001")); }
/** * Compact the backing arrays by rehashing with a capacity just larger than current size * and giving consideration to the load factor. */ public void compact() { final int idealCapacity = (int)Math.round(size() * (1.0 / loadFactor)); rehash(findNextPositivePowerOfTwo(Math.max(DEFAULT_INITIAL_CAPACITY, idealCapacity))); }
/** * Compact the backing arrays by rehashing with a capacity just larger than current size * and giving consideration to the load factor. */ public void compact() { final int idealCapacity = (int)Math.round(size() * (1.0 / loadFactor)); rehash(BitUtil.findNextPositivePowerOfTwo(idealCapacity)); }
public DirectBuffer getVariablesAsDocument(long scopeKey, Collection<DirectBuffer> names) { variablesToCollect.clear(); variablesToCollect.addAll(names); writer.wrap(documentResultBuffer, 0); writer.reserveMapHeader(); visitVariables( scopeKey, name -> variablesToCollect.contains(name.getBuffer()), (name, value) -> { writer.writeString(name.getBuffer()); writer.writeRaw(value.getValue()); variablesToCollect.remove(name.getBuffer()); }, () -> variablesToCollect.isEmpty()); writer.writeReservedMapHeader(0, names.size() - variablesToCollect.size()); resultView.wrap(documentResultBuffer, 0, writer.getOffset()); return resultView; }
public DirectBuffer getVariablesAsDocument(long scopeKey, Collection<DirectBuffer> names) { variablesToCollect.clear(); variablesToCollect.addAll(names); writer.wrap(documentResultBuffer, 0); writer.reserveMapHeader(); visitVariables( scopeKey, name -> variablesToCollect.contains(name.getBuffer()), (name, value) -> { writer.writeString(name.getBuffer()); writer.writeRaw(value.getValue()); variablesToCollect.remove(name.getBuffer()); }, () -> variablesToCollect.isEmpty()); writer.writeReservedMapHeader(0, names.size() - variablesToCollect.size()); resultView.wrap(documentResultBuffer, 0, writer.getOffset()); return resultView; }
public DirectBuffer getVariablesAsDocument(long scopeKey) { collectedVariables.clear(); writer.wrap(documentResultBuffer, 0); writer.reserveMapHeader(); visitVariables( scopeKey, name -> !collectedVariables.contains(name.getBuffer()), (name, value) -> { final DirectBuffer variableNameBuffer = name.getBuffer(); writer.writeString(variableNameBuffer); writer.writeRaw(value.getValue()); // must create a new name wrapper, because we keep them all in the hashset at the same // time final MutableDirectBuffer nameView = new UnsafeBuffer(variableNameBuffer); collectedVariables.add(nameView); }, () -> false); writer.writeReservedMapHeader(0, collectedVariables.size()); resultView.wrap(documentResultBuffer, 0, writer.getOffset()); return resultView; }