package cs121; import junit.framework.TestCase; /** A test for the class from Horstman, exercise P15.12. * @author Chris Lüer */ public class CircularArrayQueueTestCase extends TestCase { public void setUp() { q = new CircularArrayQueue( 100 ); } public void testAddRemoveOne() { String s = "hello"; q. add( s ); Object o = q. remove(); assertEquals( o, s ); } public void testRemoveThree() { q. add( "1" ); q. add( "2" ); q. add( "3" ); assertEquals( q. remove(), "1" ); assertEquals( q. remove(), "2" ); assertEquals( q. remove(), "3" ); assertEquals( q. size(), 0 ); } public void testSize() { q. add( "1" ); q. add( "2" ); q. add( "3" ); assertEquals( q. size(), 3 ); } public void testSizeEmpty() { assertEquals( q. size(), 0 ); } public void testOverflow() { try { for( int i = 0; i < 101; i++ ) { //testing 101 elements q. add( i ); } fail(); } catch( RuntimeException ex ) { assertEquals( ex. getMessage(), "queue is full" ); } } public void testWrap() { for( int i = 0; i < 90; i++ ) { q. add( i ); } for( int i = 0; i < 50; i++ ) { assertEquals( q. remove(), i ); } for( int i = 0; i < 50; i++ ) { //here it wraps q. add( i ); } assertEquals( q. size(), 90 ); for( int i = 50; i < 90; i++ ) { assertEquals( q. remove(), i ); } for( int i = 0; i < 50; i ++ ) { assertEquals( q. remove(), i ); } } public void testEmpty() { assertEquals( q. remove(), null ); } private CircularArrayQueue q; }