for(int n = 1; n < size*2; n++) {
for(int i = 0; i < size; i++) {
for(int d = 0; d < i; d++) {
for(int r = 0; r < d; r++) {
BoundedFIFO bf = new BoundedFIFO(size);
for(int p0 = 0; p0 < i; p0++)
bf.put(e[p0]);
for(int g = 0; g < d; g++)
bf.get();
for(int p1 = 0; p1 < r; p1++)
bf.put(e[i+p1]);
int x = bf.length();
bf.resize(n);
int expectedSize = min(n, x);
assertEquals(bf.length(), expectedSize);
for(int c = 0; c < expectedSize; c++) {
assertEquals(bf.get(), e[c+d]);
}
//assertNull(bf.get());
}
}
}