scolebourne    2005/01/21 16:47:49

  Modified:    collections/src/test/org/apache/commons/collections/buffer
                        TestCircularFifoBuffer.java
  Log:
  Add lots of tests for bug 33071
  
  Revision  Changes    Path
  1.6       +171 -1    
jakarta-commons/collections/src/test/org/apache/commons/collections/buffer/TestCircularFifoBuffer.java
  
  Index: TestCircularFifoBuffer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/buffer/TestCircularFifoBuffer.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TestCircularFifoBuffer.java       16 Oct 2004 22:23:41 -0000      1.5
  +++ TestCircularFifoBuffer.java       22 Jan 2005 00:47:49 -0000      1.6
  @@ -25,6 +25,7 @@
   import java.util.List;
   
   import junit.framework.Test;
  +import junit.textui.TestRunner;
   
   import org.apache.commons.collections.Buffer;
   import org.apache.commons.collections.BufferUnderflowException;
  @@ -48,6 +49,10 @@
           return BulkTest.makeSuite(TestCircularFifoBuffer.class);
       }
   
  +    public static void main(String args[]) {
  +        TestRunner.run(TestCircularFifoBuffer.class);
  +    }
  +
       //-----------------------------------------------------------------------
       /**
        *  Runs through the regular verifications, but also verifies that 
  @@ -198,6 +203,171 @@
           fail();
       }
       
  +    public void testRemoveError1() throws Exception {
  +        // based on bug 33071
  +        CircularFifoBuffer fifo = new CircularFifoBuffer(5);
  +        fifo.add("1");
  +        fifo.add("2");
  +        fifo.add("3");
  +        fifo.add("4");
  +        fifo.add("5");
  +        
  +        assertEquals("[1, 2, 3, 4, 5]", fifo.toString());
  +        
  +        fifo.remove("3");
  +        assertEquals("[1, 2, 4, 5]", fifo.toString());
  +        
  +        fifo.remove("4");
  +        assertEquals("[1, 2, 5]", fifo.toString());
  +    }
  +
  +    public void testRemoveError2() throws Exception {
  +        // based on bug 33071
  +        CircularFifoBuffer fifo = new CircularFifoBuffer(5);
  +        fifo.add("1");
  +        fifo.add("2");
  +        fifo.add("3");
  +        fifo.add("4");
  +        fifo.add("5");
  +        fifo.add("6");
  +        
  +        assertEquals(5, fifo.size());
  +        assertEquals("[2, 3, 4, 5, 6]", fifo.toString());
  +        
  +        fifo.remove("3");
  +        assertEquals("[2, 4, 5, 6]", fifo.toString());
  +        
  +        fifo.remove("4");
  +        assertEquals("[2, 5, 6]", fifo.toString());
  +    }
  +
  +    public void testRemoveError3() throws Exception {
  +        // based on bug 33071
  +        CircularFifoBuffer fifo = new CircularFifoBuffer(5);
  +        fifo.add("1");
  +        fifo.add("2");
  +        fifo.add("3");
  +        fifo.add("4");
  +        fifo.add("5");
  +        
  +        assertEquals("[1, 2, 3, 4, 5]", fifo.toString());
  +        
  +        fifo.remove("3");
  +        assertEquals("[1, 2, 4, 5]", fifo.toString());
  +        
  +        fifo.add("6");
  +        fifo.add("7");
  +        assertEquals("[2, 4, 5, 6, 7]", fifo.toString());
  +        
  +        fifo.remove("4");
  +        assertEquals("[2, 5, 6, 7]", fifo.toString());
  +    }
  +
  +    public void testRemoveError4() throws Exception {
  +        // based on bug 33071
  +        CircularFifoBuffer fifo = new CircularFifoBuffer(5);
  +        fifo.add("1");
  +        fifo.add("2");
  +        fifo.add("3");
  +        fifo.add("4");
  +        fifo.add("5");  // end=0
  +        fifo.add("6");  // end=1
  +        fifo.add("7");  // end=2
  +        
  +        assertEquals("[3, 4, 5, 6, 7]", fifo.toString());
  +        
  +        fifo.remove("4");  // remove element in middle of array, after start
  +        assertEquals("[3, 5, 6, 7]", fifo.toString());
  +    }
  +
  +    public void testRemoveError5() throws Exception {
  +        // based on bug 33071
  +        CircularFifoBuffer fifo = new CircularFifoBuffer(5);
  +        fifo.add("1");
  +        fifo.add("2");
  +        fifo.add("3");
  +        fifo.add("4");
  +        fifo.add("5");  // end=0
  +        fifo.add("6");  // end=1
  +        fifo.add("7");  // end=2
  +        
  +        assertEquals("[3, 4, 5, 6, 7]", fifo.toString());
  +        
  +        fifo.remove("5");  // remove element at last pos in array
  +        assertEquals("[3, 4, 6, 7]", fifo.toString());
  +    }
  +
  +    public void testRemoveError6() throws Exception {
  +        // based on bug 33071
  +        CircularFifoBuffer fifo = new CircularFifoBuffer(5);
  +        fifo.add("1");
  +        fifo.add("2");
  +        fifo.add("3");
  +        fifo.add("4");
  +        fifo.add("5");  // end=0
  +        fifo.add("6");  // end=1
  +        fifo.add("7");  // end=2
  +        
  +        assertEquals("[3, 4, 5, 6, 7]", fifo.toString());
  +        
  +        fifo.remove("6");  // remove element at position zero in array
  +        assertEquals("[3, 4, 5, 7]", fifo.toString());
  +    }
  +
  +    public void testRemoveError7() throws Exception {
  +        // based on bug 33071
  +        CircularFifoBuffer fifo = new CircularFifoBuffer(5);
  +        fifo.add("1");
  +        fifo.add("2");
  +        fifo.add("3");
  +        fifo.add("4");
  +        fifo.add("5");  // end=0
  +        fifo.add("6");  // end=1
  +        fifo.add("7");  // end=2
  +        
  +        assertEquals("[3, 4, 5, 6, 7]", fifo.toString());
  +        
  +        fifo.remove("7");  // remove element at position one in array
  +        assertEquals("[3, 4, 5, 6]", fifo.toString());
  +    }
  +
  +    public void testRemoveError8() throws Exception {
  +        // based on bug 33071
  +        CircularFifoBuffer fifo = new CircularFifoBuffer(5);
  +        fifo.add("1");
  +        fifo.add("2");
  +        fifo.add("3");
  +        fifo.add("4");
  +        fifo.add("5");  // end=0
  +        fifo.add("6");  // end=1
  +        fifo.add("7");  // end=2
  +        fifo.add("8");  // end=3
  +        
  +        assertEquals("[4, 5, 6, 7, 8]", fifo.toString());
  +        
  +        fifo.remove("7");  // remove element at position one in array, need 
to shift 8
  +        assertEquals("[4, 5, 6, 8]", fifo.toString());
  +    }
  +
  +    public void testRemoveError9() throws Exception {
  +        // based on bug 33071
  +        CircularFifoBuffer fifo = new CircularFifoBuffer(5);
  +        fifo.add("1");
  +        fifo.add("2");
  +        fifo.add("3");
  +        fifo.add("4");
  +        fifo.add("5");  // end=0
  +        fifo.add("6");  // end=1
  +        fifo.add("7");  // end=2
  +        fifo.add("8");  // end=3
  +        
  +        assertEquals("[4, 5, 6, 7, 8]", fifo.toString());
  +        
  +        fifo.remove("8");  // remove element at position two in array
  +        assertEquals("[4, 5, 6, 7]", fifo.toString());
  +    }
  +
  +    //-----------------------------------------------------------------------
       public void testRepeatedSerialization() throws Exception {
           // bug 31433
           CircularFifoBuffer b = new CircularFifoBuffer(2);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to