@Test public void add() { CircularQueue_F32 alg = new CircularQueue_F32(3); assertEquals(3,alg.data.length); alg.add(1); assertEquals(1,alg.data[0], UtilEjml.TEST_F64); assertEquals(1,alg.size); alg.add(2); assertEquals(1,alg.data[0], UtilEjml.TEST_F64); assertEquals(2,alg.data[1], UtilEjml.TEST_F64); assertEquals(2,alg.size); // see if it over writes alg.add(3); alg.add(4); assertEquals(4,alg.data[0], UtilEjml.TEST_F64); assertEquals(2,alg.data[1], UtilEjml.TEST_F64); assertEquals(3,alg.data[2], UtilEjml.TEST_F64); assertEquals(3,alg.size); assertEquals(1,alg.start); // wrap around case alg.start = 1; alg.size = 2; alg.data = new float[3]; alg.add(10); assertEquals(10,alg.data[0], UtilEjml.TEST_F64); assertEquals(3,alg.size); }
@Test public void get() { CircularQueue_F32 alg = new CircularQueue_F32(2); assertEquals(2,alg.data.length); // easy case alg.add(1); alg.add(2); assertEquals(1,alg.get(0), UtilEjml.TEST_F64); assertEquals(2,alg.get(1), UtilEjml.TEST_F64); // make there be an offset alg.removeHead(); alg.add(3); assertEquals(2,alg.data.length); // sanity check assertEquals(2,alg.get(0), UtilEjml.TEST_F64); assertEquals(3,alg.get(1), UtilEjml.TEST_F64); }
@Test public void isEmpty() { CircularQueue_F32 alg = new CircularQueue_F32(3); assertTrue(alg.isEmpty()); alg.add(5); assertFalse(alg.isEmpty()); alg.removeTail(); assertTrue(alg.isEmpty()); }
@Test public void set_queue() { CircularQueue_F32 a = new CircularQueue_F32(3); for (int i = 0; i < 4; i++) { a.add(i); } CircularQueue_F32 b = new CircularQueue_F32(10); b.set(a); assertEquals(3,b.queueSize()); for (int i = 0; i < a.data.length; i++) { assertEquals(a.data[i],b.data[i], UtilEjml.TEST_F64); } assertEquals(a.size,b.size); assertEquals(a.start,b.start); }