Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@apache.org Received: (qmail 37109 invoked from network); 7 Sep 2002 20:33:41 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 7 Sep 2002 20:33:41 -0000 Received: (qmail 8746 invoked by uid 97); 7 Sep 2002 20:34:16 -0000 Delivered-To: qmlist-jakarta-archive-commons-dev@jakarta.apache.org Received: (qmail 8731 invoked by uid 97); 7 Sep 2002 20:34:15 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 8720 invoked by uid 97); 7 Sep 2002 20:34:15 -0000 X-Antivirus: nagoya (v4218 created Aug 14 2002) Date: 7 Sep 2002 20:33:32 -0000 Message-ID: <20020907203332.38545.qmail@icarus.apache.org> From: rwaldhoff@apache.org To: jakarta-commons-cvs@apache.org Subject: cvs commit: jakarta-commons/collections/src/test/org/apache/commons/collections/primitives TestFloatArrayList.java TestIntArrayList.java TestLongArrayList.java TestShortArrayList.java TestUnsignedByteArrayList.java TestUnsignedIntArrayList.java TestUnsignedShortArrayList.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N rwaldhoff 2002/09/07 13:33:32 Modified: collections/src/java/org/apache/commons/collections/primitives FloatArrayList.java IntArrayList.java LongArrayList.java ShortArrayList.java UnsignedByteArrayList.java UnsignedIntArrayList.java UnsignedShortArrayList.java collections/src/test/org/apache/commons/collections/primitives TestFloatArrayList.java TestIntArrayList.java TestLongArrayList.java TestShortArrayList.java TestUnsignedByteArrayList.java TestUnsignedIntArrayList.java TestUnsignedShortArrayList.java Log: * allow zero as an initial capacity for the primitive array lists (once again). (java.util.ArrayList allows it, why shouldn't we?) * add tests to enforce the contract Revision Changes Path 1.5 +6 -7 jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/FloatArrayList.java Index: FloatArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/FloatArrayList.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- FloatArrayList.java 23 Aug 2002 17:31:28 -0000 1.4 +++ FloatArrayList.java 7 Sep 2002 20:33:32 -0000 1.5 @@ -98,11 +98,10 @@ * capacity. * * @param capacity the initial capacity for the list - * @throws IllegalArgumentException if capacity is less than or equal - * to zero + * @throws IllegalArgumentException if capacity is less than zero */ public FloatArrayList(int capacity) { - if (capacity <= 0) { + if (capacity < 0) { throw new IllegalArgumentException("capacity=" + capacity); } _data = new float[capacity]; 1.6 +6 -7 jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/IntArrayList.java Index: IntArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/IntArrayList.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- IntArrayList.java 22 Aug 2002 01:50:54 -0000 1.5 +++ IntArrayList.java 7 Sep 2002 20:33:32 -0000 1.6 @@ -96,11 +96,10 @@ * Constructs a new IntArrayList with the given capacity. * * @param the capacity for the list - * @throws IllegalArgumentException if the capacity is less than or - * equal to zero + * @throws IllegalArgumentException if the capacity is less than zero */ public IntArrayList(int capacity) { - if (capacity <= 0) { + if (capacity < 0) { throw new IllegalArgumentException("capacity " + capacity); } _data = new int[capacity]; 1.6 +6 -7 jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/LongArrayList.java Index: LongArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/LongArrayList.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- LongArrayList.java 22 Aug 2002 01:50:54 -0000 1.5 +++ LongArrayList.java 7 Sep 2002 20:33:32 -0000 1.6 @@ -98,11 +98,10 @@ * capacity. * * @param capacity the initial capacity for the array - * @throws IllegalArgumentException if the capacity is less than or - * equal to zero + * @throws IllegalArgumentException if the capacity is less than zero */ public LongArrayList(int capacity) { - if (capacity <= 0) { + if (capacity < 0) { throw new IllegalArgumentException("capacity=" + capacity); } _data = new long[capacity]; 1.6 +6 -7 jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/ShortArrayList.java Index: ShortArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/ShortArrayList.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ShortArrayList.java 22 Aug 2002 01:50:54 -0000 1.5 +++ ShortArrayList.java 7 Sep 2002 20:33:32 -0000 1.6 @@ -98,11 +98,10 @@ * capacity. * * @param capacity the initial capacity for the array - * @throws IllegalArgumentException if the capacity is less than or - * equal to zero + * @throws IllegalArgumentException if the capacity is less than zero */ public ShortArrayList(int capacity) { - if (capacity <= 0) { + if (capacity < 0) { throw new IllegalArgumentException("capacity=" + capacity); } _data = new short[capacity]; 1.6 +32 -33 jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/UnsignedByteArrayList.java Index: UnsignedByteArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/UnsignedByteArrayList.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- UnsignedByteArrayList.java 22 Aug 2002 01:50:54 -0000 1.5 +++ UnsignedByteArrayList.java 7 Sep 2002 20:33:32 -0000 1.6 @@ -100,11 +100,10 @@ * specified initial capacity. * * @param capacity the capacity for this list - * @throws IllegalArgumentException if the given capacity is less than - * or equal to zero + * @throws IllegalArgumentException if the given capacity is less than zero */ public UnsignedByteArrayList(int capacity) { - if (capacity <= 0) { + if (capacity < 0) { throw new IllegalArgumentException("capacity=" + capacity); } _data = new byte[capacity]; @@ -174,26 +173,26 @@ checkRangeIncludingEndpoint(index); ensureCapacity(_size+1); int numtomove = _size-index; - System.arraycopy(_data,index,_data,index+1,numtomove); - _data[index] = fromShort(value); - _size++; + System.arraycopy(_data,index,_data,index+1,numtomove); + _data[index] = fromShort(value); + _size++; } public void clear() { - modCount++; + modCount++; _size = 0; } public short removeShortAt(int index) { checkRange(index); - modCount++; + modCount++; short oldval = toShort(_data[index]); - int numtomove = _size - index - 1; - if(numtomove > 0) { - System.arraycopy(_data,index+1,_data,index,numtomove); + int numtomove = _size - index - 1; + if(numtomove > 0) { + System.arraycopy(_data,index+1,_data,index,numtomove); } _size--; - return oldval; + return oldval; } public boolean removeShort(short value) { @@ -208,22 +207,22 @@ } public void ensureCapacity(int mincap) { - modCount++; - if(mincap > _data.length) { - int newcap = (_data.length * 3)/2 + 1; - byte[] olddata = _data; - _data = new byte[newcap < mincap ? mincap : newcap]; - System.arraycopy(olddata,0,_data,0,_size); - } + modCount++; + if(mincap > _data.length) { + int newcap = (_data.length * 3)/2 + 1; + byte[] olddata = _data; + _data = new byte[newcap < mincap ? mincap : newcap]; + System.arraycopy(olddata,0,_data,0,_size); + } } public void trimToSize() { - modCount++; - if(_size < _data.length) { - byte[] olddata = _data; - _data = new byte[_size]; - System.arraycopy(olddata,0,_data,0,_size); - } + modCount++; + if(_size < _data.length) { + byte[] olddata = _data; + _data = new byte[_size]; + System.arraycopy(olddata,0,_data,0,_size); + } } //--------------------------------------------------------------- @@ -246,17 +245,17 @@ } private void writeObject(ObjectOutputStream out) throws IOException{ - out.defaultWriteObject(); + out.defaultWriteObject(); out.writeInt(_data.length); - for(int i=0;i<_size;i++) { + for(int i=0;i<_size;i++) { out.writeByte(_data[i]); } } private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { - in.defaultReadObject(); + in.defaultReadObject(); _data = new byte[in.readInt()]; - for(int i=0;i<_size;i++) { + for(int i=0;i<_size;i++) { _data[i] = in.readByte(); } } 1.6 +32 -33 jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/UnsignedIntArrayList.java Index: UnsignedIntArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/UnsignedIntArrayList.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- UnsignedIntArrayList.java 22 Aug 2002 01:50:54 -0000 1.5 +++ UnsignedIntArrayList.java 7 Sep 2002 20:33:32 -0000 1.6 @@ -100,11 +100,10 @@ * specified initial capacity. * * @param capacity the capacity for this list - * @throws IllegalArgumentException if the given capacity is less than - * or equal to zero + * @throws IllegalArgumentException if the given capacity is less than zero */ public UnsignedIntArrayList(int capacity) { - if (capacity <= 0) { + if (capacity < 0) { throw new IllegalArgumentException("capacity=" + capacity); } _data = new int[capacity]; @@ -174,26 +173,26 @@ checkRangeIncludingEndpoint(index); ensureCapacity(_size+1); int numtomove = _size-index; - System.arraycopy(_data,index,_data,index+1,numtomove); - _data[index] = fromLong(value); - _size++; + System.arraycopy(_data,index,_data,index+1,numtomove); + _data[index] = fromLong(value); + _size++; } public void clear() { - modCount++; + modCount++; _size = 0; } public long removeLongAt(int index) { checkRange(index); - modCount++; + modCount++; long oldval = toLong(_data[index]); - int numtomove = _size - index - 1; - if(numtomove > 0) { - System.arraycopy(_data,index+1,_data,index,numtomove); + int numtomove = _size - index - 1; + if(numtomove > 0) { + System.arraycopy(_data,index+1,_data,index,numtomove); } _size--; - return oldval; + return oldval; } public boolean removeLong(long value) { @@ -208,22 +207,22 @@ } public void ensureCapacity(int mincap) { - modCount++; - if(mincap > _data.length) { - int newcap = (_data.length * 3)/2 + 1; - int[] olddata = _data; - _data = new int[newcap < mincap ? mincap : newcap]; - System.arraycopy(olddata,0,_data,0,_size); - } + modCount++; + if(mincap > _data.length) { + int newcap = (_data.length * 3)/2 + 1; + int[] olddata = _data; + _data = new int[newcap < mincap ? mincap : newcap]; + System.arraycopy(olddata,0,_data,0,_size); + } } public void trimToSize() { - modCount++; - if(_size < _data.length) { - int[] olddata = _data; - _data = new int[_size]; - System.arraycopy(olddata,0,_data,0,_size); - } + modCount++; + if(_size < _data.length) { + int[] olddata = _data; + _data = new int[_size]; + System.arraycopy(olddata,0,_data,0,_size); + } } //--------------------------------------------------------------- @@ -245,17 +244,17 @@ } } private void writeObject(ObjectOutputStream out) throws IOException{ - out.defaultWriteObject(); + out.defaultWriteObject(); out.writeInt(_data.length); - for(int i=0;i<_size;i++) { + for(int i=0;i<_size;i++) { out.writeInt(_data[i]); } } private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { - in.defaultReadObject(); + in.defaultReadObject(); _data = new int[in.readInt()]; - for(int i=0;i<_size;i++) { + for(int i=0;i<_size;i++) { _data[i] = in.readInt(); } } 1.6 +32 -33 jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/UnsignedShortArrayList.java Index: UnsignedShortArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/UnsignedShortArrayList.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- UnsignedShortArrayList.java 22 Aug 2002 01:50:54 -0000 1.5 +++ UnsignedShortArrayList.java 7 Sep 2002 20:33:32 -0000 1.6 @@ -101,11 +101,10 @@ * specified initial capacity. * * @param capacity the capacity for this list - * @throws IllegalArgumentException if the given capacity is less than - * or equal to zero + * @throws IllegalArgumentException if the given capacity is less than zero */ public UnsignedShortArrayList(int capacity) { - if (capacity <= 0) { + if (capacity < 0) { throw new IllegalArgumentException("capacity=" + capacity); } _data = new short[capacity]; @@ -175,26 +174,26 @@ checkRangeIncludingEndpoint(index); ensureCapacity(_size+1); int numtomove = _size-index; - System.arraycopy(_data,index,_data,index+1,numtomove); - _data[index] = fromInt(value); - _size++; + System.arraycopy(_data,index,_data,index+1,numtomove); + _data[index] = fromInt(value); + _size++; } public void clear() { - modCount++; + modCount++; _size = 0; } public int removeIntAt(int index) { checkRange(index); - modCount++; + modCount++; int oldval = toInt(_data[index]); - int numtomove = _size - index - 1; - if(numtomove > 0) { - System.arraycopy(_data,index+1,_data,index,numtomove); + int numtomove = _size - index - 1; + if(numtomove > 0) { + System.arraycopy(_data,index+1,_data,index,numtomove); } _size--; - return oldval; + return oldval; } public boolean removeInt(int value) { @@ -209,22 +208,22 @@ } public void ensureCapacity(int mincap) { - modCount++; - if(mincap > _data.length) { - int newcap = (_data.length * 3)/2 + 1; - short[] olddata = _data; - _data = new short[newcap < mincap ? mincap : newcap]; - System.arraycopy(olddata,0,_data,0,_size); - } + modCount++; + if(mincap > _data.length) { + int newcap = (_data.length * 3)/2 + 1; + short[] olddata = _data; + _data = new short[newcap < mincap ? mincap : newcap]; + System.arraycopy(olddata,0,_data,0,_size); + } } public void trimToSize() { - modCount++; - if(_size < _data.length) { - short[] olddata = _data; - _data = new short[_size]; - System.arraycopy(olddata,0,_data,0,_size); - } + modCount++; + if(_size < _data.length) { + short[] olddata = _data; + _data = new short[_size]; + System.arraycopy(olddata,0,_data,0,_size); + } } //--------------------------------------------------------------- @@ -247,17 +246,17 @@ } private void writeObject(ObjectOutputStream out) throws IOException{ - out.defaultWriteObject(); + out.defaultWriteObject(); out.writeInt(_data.length); - for(int i=0;i<_size;i++) { + for(int i=0;i<_size;i++) { out.writeShort(_data[i]); } } private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { - in.defaultReadObject(); + in.defaultReadObject(); _data = new short[in.readInt()]; - for(int i=0;i<_size;i++) { + for(int i=0;i<_size;i++) { _data[i] = in.readShort(); } } 1.3 +8 -4 jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestFloatArrayList.java Index: TestFloatArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestFloatArrayList.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- TestFloatArrayList.java 21 Jun 2002 04:01:31 -0000 1.2 +++ TestFloatArrayList.java 7 Sep 2002 20:33:32 -0000 1.3 @@ -98,6 +98,10 @@ //------------------------------------------------------------------- Tests + public void testZeroInitialCapacityIsValid() { + FloatArrayList list = new FloatArrayList(0); + } + public void testAddGet() { FloatArrayList list = createList(); for(float i=0F;i<1000F;i++) { 1.4 +10 -4 jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestIntArrayList.java Index: TestIntArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestIntArrayList.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- TestIntArrayList.java 19 Aug 2002 21:19:03 -0000 1.3 +++ TestIntArrayList.java 7 Sep 2002 20:33:32 -0000 1.4 @@ -89,5 +89,11 @@ return new IntArrayList(); } + //---------------------------------------------------------------- Tests + + public void testZeroInitialCapacityIsValid() { + IntArrayList list = new IntArrayList(0); + } + } 1.4 +10 -4 jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestLongArrayList.java Index: TestLongArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestLongArrayList.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- TestLongArrayList.java 19 Aug 2002 21:19:03 -0000 1.3 +++ TestLongArrayList.java 7 Sep 2002 20:33:32 -0000 1.4 @@ -89,5 +89,11 @@ return new LongArrayList(); } + //---------------------------------------------------------------- Tests + + public void testZeroInitialCapacityIsValid() { + LongArrayList list = new LongArrayList(0); + } + } 1.4 +10 -4 jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestShortArrayList.java Index: TestShortArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestShortArrayList.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- TestShortArrayList.java 19 Aug 2002 21:19:03 -0000 1.3 +++ TestShortArrayList.java 7 Sep 2002 20:33:32 -0000 1.4 @@ -89,5 +89,11 @@ return new ShortArrayList(); } + //---------------------------------------------------------------- Tests + + public void testZeroInitialCapacityIsValid() { + ShortArrayList list = new ShortArrayList(0); + } + } 1.4 +10 -4 jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestUnsignedByteArrayList.java Index: TestUnsignedByteArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestUnsignedByteArrayList.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- TestUnsignedByteArrayList.java 19 Aug 2002 21:19:03 -0000 1.3 +++ TestUnsignedByteArrayList.java 7 Sep 2002 20:33:32 -0000 1.4 @@ -89,5 +89,11 @@ return new UnsignedByteArrayList(); } + //---------------------------------------------------------------- Tests + + public void testZeroInitialCapacityIsValid() { + UnsignedByteArrayList list = new UnsignedByteArrayList(0); + } + } 1.4 +10 -4 jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestUnsignedIntArrayList.java Index: TestUnsignedIntArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestUnsignedIntArrayList.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- TestUnsignedIntArrayList.java 19 Aug 2002 21:19:03 -0000 1.3 +++ TestUnsignedIntArrayList.java 7 Sep 2002 20:33:32 -0000 1.4 @@ -89,5 +89,11 @@ return new UnsignedIntArrayList(); } + //---------------------------------------------------------------- Tests + + public void testZeroInitialCapacityIsValid() { + UnsignedIntArrayList list = new UnsignedIntArrayList(0); + } + } 1.4 +10 -4 jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestUnsignedShortArrayList.java Index: TestUnsignedShortArrayList.java =================================================================== RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestUnsignedShortArrayList.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- TestUnsignedShortArrayList.java 19 Aug 2002 21:19:03 -0000 1.3 +++ TestUnsignedShortArrayList.java 7 Sep 2002 20:33:32 -0000 1.4 @@ -89,5 +89,11 @@ return new UnsignedShortArrayList(); } + //---------------------------------------------------------------- Tests + + public void testZeroInitialCapacityIsValid() { + UnsignedShortArrayList list = new UnsignedShortArrayList(0); + } + } -- To unsubscribe, e-mail: For additional commands, e-mail: