### Question:
HugeAtomicLongArray { public abstract long release();  abstract long get(long index); abstract void set(long index, long value); abstract boolean compareAndSet(long index, long expect, long update); abstract long compareAndExchange(long index, long expect, long update); abstract void update(long index, LongUnaryOperator updateFunction); abstract long size(); abstract long sizeOf(); abstract void setAll(long value); abstract long release(); LongNodeProperties asNodeProperties(); static HugeAtomicLongArray newArray(long size, AllocationTracker tracker); static HugeAtomicLongArray newArray(long size, LongPageCreator pageFiller, AllocationTracker tracker); static long memoryEstimation(long size);  }### Answer:
@Test void shouldFreeMemoryUsed() { int size = integer(10, 20); long expected = MemoryUsage.sizeOfLongArray(size); testArray(size, array -> { long freed = array.release(); assertThat(freed, anyOf(is(expected), is(expected + 24))); }); }