import org.junit.Assert;
import org.junit.Test;
import java.util.Collections;
import java.util.List;
import java.util.stream.IntStream;
import static org.junit.Assert.assertEquals;
public class HeapStackTest {
private int length;
@Test
public void heapStack1(){
length = 10;
test(length);
}
@Test
public void heapStack2(){
length = 100;
test(length);
}
private void test(int length) {
List<Integer> values = StreamUtil.sequence(length);
HeapStack stack = createStack(values);
StreamUtil.revRange(0, length)
.forEach(n -> {
assertEquals((Integer)n,stack.pop());
});
}
private HeapStack createStack(List<Integer> values) {
final HeapStack stack = new HeapStack();
IntStream.range(0, values.size())
.forEach(i ->
{
stack.push(values.get(i));
});
return stack;
}
}