/** * Returns and removes the first element from the queue. * @return first element in the queue */ public T popHead() { T r = data[start]; removeHead(); return r; }
/** * Returns and removes the first element from the queue. * @return first element in the queue */ public T popHead() { T r = data[start]; removeHead(); return r; }
@Test public void removeHead() { CircularQueue<A> alg = new CircularQueue<A>(A.class); alg.grow().value = 1; alg.grow().value = 2; alg.removeHead(); assertEquals(2, alg.head().value); assertEquals(1, alg.size()); alg.removeHead(); assertEquals(0, alg.size()); }
@Test public void get() { CircularQueue<A> alg = new CircularQueue<A>(A.class,2); assertEquals(2,alg.data.length); // easy case alg.grow().value = 1; alg.grow().value = 2; assertEquals(1,alg.get(0).value); assertEquals(2,alg.get(1).value); // make there be an offset alg.removeHead(); alg.grow().value = 3; assertEquals(2,alg.data.length); // sanity check assertEquals(2,alg.get(0).value); assertEquals(3,alg.get(1).value); }