/* * Created on May 5, 2005 */ package stockportfolio; import junit.framework.TestCase; /** Test class for an ObjectDQueue */ public class ObjectDQueueTest extends TestCase { public static void testQ() { ObjectDQueue q1 = new ObjectDQueue(); testOneQueue(q1); } public static void testOneQueue(ObjectDQueue q1) { assert q1.size() == 0; for (int ob = 1; ob <= 100000; ob++) { Object rear = new Object(); boolean alreadyFull = q1.isFull(); boolean enqueueResult = q1.enqueue(rear); if (enqueueResult) { assert q1.size() == ob; assert q1.isEmpty() == false; assert alreadyFull == false; assert rear == q1.getObject(ob-1); boolean addFrontResult = q1.addToFront(new Object()); if (addFrontResult) { assert q1.size() == ob + 1; assert q1.isEmpty() == false; alreadyFull = q1.isFull(); Object frontOb = q1.front(); assert q1.size() == ob + 1; assert frontOb == q1.getObject(0); assert frontOb != q1.getObject(1); assert frontOb != q1.getObject(ob); Object dequeued = q1.dequeue(); assert frontOb == dequeued; assert q1.size() == ob; assert frontOb != q1.getObject(0); } else { //add front failed assert alreadyFull == true; assert q1.isFull() == true; } } else { //enqueue failed assert q1.isFull() == true; System.out.println("Queue size limit is apparently " + (ob-1)); break; } } while (!q1.isEmpty()) { assert q1.isFull() == false; Object front = q1.dequeue(); assert front != null; } Object shouldBeNull = q1.front(); assert shouldBeNull == null; shouldBeNull = q1.dequeue(); assert shouldBeNull == null; for (int i = 0; i < 10000; i++) { try { q1.getObject(i); assert false: "Unexpectedly found object at " + i; } catch (IllegalArgumentException e) { } } } }