import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import org.csstudio.swt.xygraph.dataprovider.CircularBuffer; import org.junit.Test; public class CircularBufferTest { private CircularBuffer<String> circularBuffer; @Test public void testCircularBuffer() { circularBuffer = new CircularBuffer<String>(5); } @Test public void testAdd() { circularBuffer = new CircularBuffer<String>(5); for(int i=0; i<10; i++){ circularBuffer.add("e" + i); System.out.println(circularBuffer); } } @Test public void testToArray() { circularBuffer = new CircularBuffer<String>(5); for(int i=0; i<10; i++){ circularBuffer.add("e" + i); } assertArrayEquals(new String[]{"e5", "e6", "e7", "e8", "e9"}, circularBuffer.toArray()); } @Test public void testClear() { circularBuffer = new CircularBuffer<String>(5); for(int i=0; i<10; i++){ circularBuffer.add("e" + i); } System.out.println(circularBuffer); circularBuffer.clear(); System.out.println(circularBuffer); } @Test public void testSetBufferSize() { circularBuffer = new CircularBuffer<String>(5); for(int i=0; i<2; i++){ circularBuffer.add("e" + i); } System.out.println(circularBuffer); //test expand circularBuffer.setBufferSize(8, false); for(int i=0; i<6; i++){ circularBuffer.add("e" + (i+2)); } System.out.println(circularBuffer); assertEquals("[e0, e1, e2, e3, e4, e5, e6, e7]", circularBuffer.toString()); //test shrink circularBuffer.setBufferSize(5, false); System.out.println(circularBuffer); assertEquals("[e0, e1, e2, e3, e4]", circularBuffer.toString()); //test add for(int i=0; i<2; i++){ circularBuffer.add("e" + i); } System.out.println(circularBuffer); assertEquals("[e2, e3, e4, e0, e1]", circularBuffer.toString()); } @Test public void testIterator() { circularBuffer = new CircularBuffer<String>(102400); for(int i=0; i<200000; i++){ circularBuffer.add("e" + i); } int i=200000-102400; //System.out.println(circularBuffer); for(String s : circularBuffer){ assertEquals("e"+i, s); i++; } } }