@Test public void testNullSlicesRetainedSize() { // add null values sliceBigArray.set(0, null); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE); // replace null with a slice sliceBigArray.set(0, wrappedBuffer(secondBytes, 201, 1501)); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE); // add another slice sliceBigArray.set(1, wrappedBuffer(secondBytes, 201, 1501)); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE * 2); // replace slice with null sliceBigArray.set(1, null); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE); }
@Test public void testNullSlicesRetainedSize() { // add null values sliceBigArray.set(0, null); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE); // replace null with a slice sliceBigArray.set(0, wrappedBuffer(secondBytes, 201, 1501)); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE); // add another slice sliceBigArray.set(1, wrappedBuffer(secondBytes, 201, 1501)); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE * 2); // replace slice with null sliceBigArray.set(1, null); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE); }
@Test public void testSameSliceRetainedSize() { // same slice should be counted only once Slice slice = wrappedBuffer(secondBytes, 201, 1501); for (int i = 0; i < CAPACITY; i++) { sliceBigArray.set(i, slice); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE); } // adding a new slice will increase the size slice = wrappedBuffer(secondBytes, 201, 1501); sliceBigArray.set(3, slice); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE * 2); }
@Test public void testSameSliceRetainedSize() { // same slice should be counted only once Slice slice = wrappedBuffer(secondBytes, 201, 1501); for (int i = 0; i < CAPACITY; i++) { sliceBigArray.set(i, slice); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE); } // adding a new slice will increase the size slice = wrappedBuffer(secondBytes, 201, 1501); sliceBigArray.set(3, slice); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE * 2); }
@Test public void testRetainedSize() { // add two elements sliceBigArray.set(0, wrappedBuffer(firstBytes, 0, 100)); sliceBigArray.set(1, wrappedBuffer(secondBytes, 0, 100)); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(firstBytes) + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE * 2); // add two more sliceBigArray.set(2, wrappedBuffer(firstBytes, 100, 200)); sliceBigArray.set(3, wrappedBuffer(secondBytes, 20, 150)); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(firstBytes) + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE * 4); // replace with different slices but the same base sliceBigArray.set(2, wrappedBuffer(firstBytes, 11, 1200)); sliceBigArray.set(3, wrappedBuffer(secondBytes, 201, 1501)); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(firstBytes) + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE * 4); // replace with a different slice with a different base sliceBigArray.set(0, wrappedBuffer(secondBytes, 11, 1200)); sliceBigArray.set(2, wrappedBuffer(secondBytes, 201, 1501)); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE * 4); } }
@Test public void testRetainedSize() { // add two elements sliceBigArray.set(0, wrappedBuffer(firstBytes, 0, 100)); sliceBigArray.set(1, wrappedBuffer(secondBytes, 0, 100)); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(firstBytes) + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE * 2); // add two more sliceBigArray.set(2, wrappedBuffer(firstBytes, 100, 200)); sliceBigArray.set(3, wrappedBuffer(secondBytes, 20, 150)); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(firstBytes) + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE * 4); // replace with different slices but the same base sliceBigArray.set(2, wrappedBuffer(firstBytes, 11, 1200)); sliceBigArray.set(3, wrappedBuffer(secondBytes, 201, 1501)); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(firstBytes) + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE * 4); // replace with a different slice with a different base sliceBigArray.set(0, wrappedBuffer(secondBytes, 11, 1200)); sliceBigArray.set(2, wrappedBuffer(secondBytes, 201, 1501)); assertEquals(sliceBigArray.sizeOf(), BIG_ARRAY_INSTANCE_SIZE + sizeOf(secondBytes) + SLICE_INSTANCE_SIZE * 4); } }