/** * Copyright (C) 2010-14 diirt developers. See COPYRIGHT.TXT * All rights reserved. Use is subject to license terms. See LICENSE.TXT */ package org.diirt.util.array; import org.junit.Test; import static org.junit.Assert.*; import static org.hamcrest.Matchers.*; import static org.diirt.util.array.CollectionTest.testCollection; import static org.diirt.util.array.ListTest.testList; /** * * @author carcassi */ public class CircularBufferDoubleTest { public CircularBufferDoubleTest() { } @Test public void iteration1() { CircularBufferDouble coll = new CircularBufferDouble(15); for (int i = 0; i < 10; i++) { coll.addDouble(1.0); } testCollection(coll); testList(coll); } @Test public void add1() { CircularBufferDouble coll = new CircularBufferDouble(10); for (int i = 0; i < 5; i++) { coll.addDouble(1.0); } assertThat(coll.size(), equalTo(5)); for (int i = 0; i < 5; i++) { coll.addDouble(1.0); } assertThat(coll.size(), equalTo(10)); for (int i = 0; i < 5; i++) { coll.addDouble(1.0); } assertThat(coll.size(), equalTo(10)); } @Test public void add2() { CircularBufferDouble coll = new CircularBufferDouble(10); for (int i = 0; i < 11; i++) { coll.addDouble(i); } ListDouble reference = new ArrayDouble(new double[] {1,2,3,4,5,6,7,8,9,10}); assertThat(coll, equalTo(reference)); } @Test public void add3() { CircularBufferDouble coll = new CircularBufferDouble(10); for (int i = 0; i < 5; i++) { coll.addDouble(i); } ListDouble reference = new ArrayDouble(new double[] {0,1,2,3,4}); assertThat(coll, equalTo(reference)); } @Test public void add4() { CircularBufferDouble coll = new CircularBufferDouble(3); for (int i = 0; i < 5; i++) { coll.addDouble(i); } ListDouble reference = new ArrayDouble(new double[] {2,3,4}); assertThat(coll, equalTo(reference)); } @Test public void add5() { CircularBufferDouble coll = new CircularBufferDouble(25); for (int i = 0; i < 5; i++) { coll.addDouble(i); } assertThat(coll.size(), equalTo(5)); assertThat(coll.getCurrentCapacity(), equalTo(10)); for (int i = 0; i < 5; i++) { coll.addDouble(i); } assertThat(coll.size(), equalTo(10)); assertThat(coll.getCurrentCapacity(), equalTo(20)); for (int i = 0; i < 10; i++) { coll.addDouble(i); } assertThat(coll.size(), equalTo(20)); assertThat(coll.getCurrentCapacity(), equalTo(25)); } @Test public void clear1() { CircularBufferDouble coll = new CircularBufferDouble(10); for (int i = 0; i < 5; i++) { coll.addDouble(i); } coll.clear(); assertThat(coll.size(), equalTo(0)); } }