package com.github.fge.grappa.stack; import org.testng.annotations.Test; import static org.assertj.core.api.Assertions.assertThat; public final class ArrayValueStackInternalTest { @Test public void expandShrinkTest() { final ArrayValueStack<Object> valueStack = new ArrayValueStack<>(); Object[] array; int expectedLength; for (int i = 0; i < ArrayValueStack.INITIAL_SIZE; i++) valueStack.push(new Object()); array = valueStack.getArray(); expectedLength = ArrayValueStack.INITIAL_SIZE; assertThat(array.length).isEqualTo(expectedLength); valueStack.push(new Object()); array = valueStack.getArray(); expectedLength = ArrayValueStack.INITIAL_SIZE + ArrayValueStack.SIZE_INCREASE; assertThat(array.length).isEqualTo(expectedLength); valueStack.pop(); array = valueStack.getArray(); expectedLength = ArrayValueStack.INITIAL_SIZE; assertThat(array.length).isEqualTo(expectedLength); } }