rwaldhoff 2003/03/03 15:23:40
Modified: collections/src/java/org/apache/commons/collections/primitives
AbstractIntCollection.java
AbstractRandomAccessIntList.java
collections/src/test/org/apache/commons/collections/primitives
TestAll.java TestIntList.java
collections/src/test/org/apache/commons/collections/primitives/adapters
TestIntListIteratorListIterator.java
Added: collections/src/test/org/apache/commons/collections/primitives
TestAbstractIntCollection.java
TestAbstractRandomAccessIntList.java
Log:
add tests, make 'em pass ;)
Revision Changes Path
1.5 +2 -17
jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/AbstractIntCollection.java
Index: AbstractIntCollection.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/AbstractIntCollection.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AbstractIntCollection.java 13 Jan 2003 23:07:08 -0000 1.4
+++ AbstractIntCollection.java 3 Mar 2003 23:23:39 -0000 1.5
@@ -78,21 +78,6 @@
public abstract int size();
protected AbstractIntCollection() { }
-
- /**
- * Constructs a collection containing the elements of
- * the given collection, added in the order they are
- * returned by that collection's iterator.
- *
- * @see #addAll
- * @param that the non-<code>null</code> collection of <code>int</code>s
- * to add
- * @throws NullPointerException if <i>that</i> is <code>null</code>
- * @throws UnsupportedOperationException if [EMAIL PROTECTED] #addAll addAll}
does
- */
- protected AbstractIntCollection(IntCollection that) {
- addAll(that);
- }
/** Unsupported in this base implementation. */
public boolean add(int element) {
1.14 +3 -21
jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/AbstractRandomAccessIntList.java
Index: AbstractRandomAccessIntList.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/primitives/AbstractRandomAccessIntList.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- AbstractRandomAccessIntList.java 1 Mar 2003 00:47:28 -0000 1.13
+++ AbstractRandomAccessIntList.java 3 Mar 2003 23:23:39 -0000 1.14
@@ -87,20 +87,6 @@
protected AbstractRandomAccessIntList() {
}
- /**
- * Constructs a list containing the elements of the given collection,
- * in the order they are returned by that collection's iterator.
- *
- * @see #addAll
- * @param that the non-<code>null</code> collection of <code>int</code>s
- * to add
- * @throws NullPointerException if <i>that</i> is <code>null</code>
- * @throws UnsupportedOperationException if [EMAIL PROTECTED] #addAll addAll}
does
- */
- protected AbstractRandomAccessIntList(IntCollection that) {
- super(that);
- }
-
// fully abstract methods
//-------------------------------------------------------------------------
@@ -275,14 +261,10 @@
}
protected static class RandomAccessIntListIterator extends ComodChecker
implements IntListIterator {
- RandomAccessIntListIterator(AbstractRandomAccessIntList list) {
- this(list,0);
- }
-
RandomAccessIntListIterator(AbstractRandomAccessIntList list, int index) {
super(list);
if(index < 0 || index > getList().size()) {
- throw new IllegalArgumentException("Index " + index + " not in [0,"
+ getList().size() + ")");
+ throw new IndexOutOfBoundsException("Index " + index + " not in
[0," + getList().size() + ")");
} else {
_nextIndex = index;
resyncModCount();
1.9 +5 -2
jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestAll.java
Index: TestAll.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestAll.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- TestAll.java 26 Feb 2003 19:17:23 -0000 1.8
+++ TestAll.java 3 Mar 2003 23:23:40 -0000 1.9
@@ -77,6 +77,9 @@
public static Test suite() {
TestSuite suite = new TestSuite();
+
+ suite.addTest(TestAbstractIntCollection.suite());
+ suite.addTest(TestAbstractRandomAccessIntList.suite());
suite.addTest(TestArrayIntList.suite());
suite.addTest(TestArrayUnsignedShortList.suite());
1.8 +48 -3
jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestIntList.java
Index: TestIntList.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestIntList.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- TestIntList.java 1 Mar 2003 00:47:28 -0000 1.7
+++ TestIntList.java 3 Mar 2003 23:23:40 -0000 1.8
@@ -58,6 +58,7 @@
package org.apache.commons.collections.primitives;
import java.io.Serializable;
+import java.util.AbstractCollection;
import java.util.ArrayList;
import java.util.List;
@@ -297,7 +298,6 @@
assertEquals(50,list.size());
}
-
public void testAddGet() {
IntList list = makeEmptyIntList();
for (int i = 0; i < 1000; i++) {
@@ -374,6 +374,51 @@
makeFullIntList().subList(2,makeFullIntList().size()+2);
fail("Expected IndexOutOfBoundsException");
} catch(IndexOutOfBoundsException e) {
+ // expected
+ }
+ }
+
+ public void testListIteratorOutOfBounds() throws Exception {
+ try {
+ makeEmptyIntList().listIterator(2);
+ fail("Expected IndexOutOfBoundsException");
+ } catch(IndexOutOfBoundsException e) {
+ // expected
+ }
+
+ try {
+ makeFullIntList().listIterator(-1);
+ fail("Expected IndexOutOfBoundsException");
+ } catch(IndexOutOfBoundsException e) {
+ // expected
+ }
+
+ try {
+ makeFullIntList().listIterator(makeFullIntList().size()+2);
+ fail("Expected IndexOutOfBoundsException");
+ } catch(IndexOutOfBoundsException e) {
+ // expected
+ }
+ }
+
+ public void testListIteratorSetWithoutNext() throws Exception {
+ IntListIterator iter = makeFullIntList().listIterator();
+ try {
+ iter.set(3);
+ fail("Expected IllegalStateException");
+ } catch(IllegalStateException e) {
+ // expected
+ }
+ }
+
+ public void testListIteratorSetAfterRemove() throws Exception {
+ IntListIterator iter = makeFullIntList().listIterator();
+ iter.next();
+ iter.remove();
+ try {
+ iter.set(3);
+ fail("Expected IllegalStateException");
+ } catch(IllegalStateException e) {
// expected
}
}
1.1
jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestAbstractIntCollection.java
Index: TestAbstractIntCollection.java
===================================================================
/*
* $Header:
/home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestAbstractIntCollection.java,v
1.1 2003/03/03 23:23:40 rwaldhoff Exp $
* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
*/
package org.apache.commons.collections.primitives;
import java.util.Collections;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.apache.commons.collections.primitives.adapters.IteratorIntIterator;
/**
* @version $Revision: 1.1 $ $Date: 2003/03/03 23:23:40 $
* @author Rodney Waldhoff
*/
public class TestAbstractIntCollection extends TestCase {
// conventional
// ------------------------------------------------------------------------
public TestAbstractIntCollection(String testName) {
super(testName);
}
public static Test suite() {
return new TestSuite(TestAbstractIntCollection.class);
}
// tests
// ------------------------------------------------------------------------
public void testAddIsUnsupportedByDefault() {
IntCollection col = new IntCollectionImpl();
try {
col.add(1);
fail("Expected UnsupportedOperationException");
} catch(UnsupportedOperationException e) {
// expected
}
}
// inner classes
// ------------------------------------------------------------------------
static class IntCollectionImpl extends AbstractIntCollection {
public IntCollectionImpl() {
}
public IntIterator iterator() {
return new IteratorIntIterator(Collections.EMPTY_LIST.iterator());
}
public int size() {
return 0;
}
}
}
1.1
jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestAbstractRandomAccessIntList.java
Index: TestAbstractRandomAccessIntList.java
===================================================================
/*
* $Header:
/home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/TestAbstractRandomAccessIntList.java,v
1.1 2003/03/03 23:23:40 rwaldhoff Exp $
* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
*/
package org.apache.commons.collections.primitives;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* @version $Revision: 1.1 $ $Date: 2003/03/03 23:23:40 $
* @author Rodney Waldhoff
*/
public class TestAbstractRandomAccessIntList extends TestCase {
// conventional
// ------------------------------------------------------------------------
public TestAbstractRandomAccessIntList(String testName) {
super(testName);
}
public static Test suite() {
return new TestSuite(TestAbstractRandomAccessIntList.class);
}
// tests
// ------------------------------------------------------------------------
public void testAddIsUnsupportedByDefault() {
AbstractRandomAccessIntList list = new AbstractRandomAccessIntListImpl();
try {
list.add(1);
fail("Expected UnsupportedOperationException");
} catch(UnsupportedOperationException e) {
// expected
}
try {
list.set(0,1);
fail("Expected UnsupportedOperationException");
} catch(UnsupportedOperationException e) {
// expected
}
}
public void testAddAllIsUnsupportedByDefault() {
AbstractRandomAccessIntList list = new AbstractRandomAccessIntListImpl();
IntList list2 = new ArrayIntList();
list2.add(3);
try {
list.addAll(list2);
fail("Expected UnsupportedOperationException");
} catch(UnsupportedOperationException e) {
// expected
}
}
public void testSetIsUnsupportedByDefault() {
AbstractRandomAccessIntList list = new AbstractRandomAccessIntListImpl();
try {
list.set(0,1);
fail("Expected UnsupportedOperationException");
} catch(UnsupportedOperationException e) {
// expected
}
}
public void testRemoveElementIsUnsupportedByDefault() {
AbstractRandomAccessIntList list = new AbstractRandomAccessIntListImpl();
try {
list.removeElementAt(0);
fail("Expected UnsupportedOperationException");
} catch(UnsupportedOperationException e) {
// expected
}
}
// inner classes
// ------------------------------------------------------------------------
static class AbstractRandomAccessIntListImpl extends AbstractRandomAccessIntList
{
public AbstractRandomAccessIntListImpl() {
}
/**
* @see org.apache.commons.collections.primitives.IntList#get(int)
*/
public int get(int index) {
throw new IndexOutOfBoundsException();
}
/**
* @see org.apache.commons.collections.primitives.IntCollection#size()
*/
public int size() {
return 0;
}
}
}
1.2 +3 -3
jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/adapters/TestIntListIteratorListIterator.java
Index: TestIntListIteratorListIterator.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/primitives/adapters/TestIntListIteratorListIterator.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TestIntListIteratorListIterator.java 1 Mar 2003 00:47:29 -0000 1.1
+++ TestIntListIteratorListIterator.java 3 Mar 2003 23:23:40 -0000 1.2
@@ -82,7 +82,7 @@
}
public static Test suite() {
- return new TestSuite(TestIntIteratorIterator.class);
+ return new TestSuite(TestIntListIteratorListIterator.class);
}
// collections testing framework
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]