package com.cosylab.util; import junit.framework.TestCase; public class CircularArrayListTest extends TestCase { public void testClassicGrowth() { CircularArrayList<Integer> cal = new CircularArrayList<Integer>(10); assertTrue(cal.isEmpty()); final int COUNT = 1000; for (int i = 0; i < COUNT; i++) cal.add(i); assertEquals(COUNT, cal.size()); assertFalse(cal.isEmpty()); for (int i = 0; i < COUNT; i++) assertEquals(i, ((Integer)cal.get(i)).intValue()); } public void testCircular() { final int SIZE = 100; CircularArrayList<Integer> cal = new CircularArrayList<Integer>(SIZE); assertTrue(cal.isEmpty()); for (int i = 0; i < SIZE - 3; i++) cal.add(i); for (int i = 0; i < SIZE - 5; i++) cal.remove(0); for (int i = 0; i < SIZE - 7; i++) cal.add(i); assertEquals(SIZE - 7 + 2, cal.size()); assertEquals(SIZE - 5, ((Integer)cal.get(0)).intValue()); assertEquals(SIZE - 4, ((Integer)cal.get(1)).intValue()); for (int i = 0; i < SIZE - 7; i++) assertEquals(i, ((Integer)cal.get(i+2)).intValue()); } }