@Test(dataProvider = "maxSizes")
public void snapshot(final int max) {

	final RingBuffer ints = new RingBuffer(max);
	for (int i = 0; i < 33; ++i) {
		ints.add(i);
		final Object[] snapshot = ints.snapshot();
		final int size  = Math.min(i + 1, max);
		Assert.assertEquals(snapshot.length, size);
		final Object[] expected = new Object[size];
		for (int j = 0; j < size; ++j) {
			expected[size - j - 1] = i - j;
		}
		Assert.assertEquals(snapshot, expected);
	}
}