--- jsr166/src/test/tck/VectorTest.java 2016/11/03 20:41:32 1.1 +++ jsr166/src/test/tck/VectorTest.java 2017/02/03 19:13:45 1.5 @@ -7,6 +7,7 @@ import java.util.Vector; import java.util.Collection; +import java.util.List; import junit.framework.Test; import junit.framework.TestSuite; @@ -19,13 +20,39 @@ public class VectorTest extends JSR166Te public static Test suite() { class Implementation implements CollectionImplementation { public Class klazz() { return Vector.class; } - public Collection emptyCollection() { return new Vector(); } + public List emptyCollection() { return new Vector(); } public Object makeElement(int i) { return i; } public boolean isConcurrent() { return false; } public boolean permitsNulls() { return true; } } - return newTestSuite(// VectorTest.class, - CollectionTest.testSuite(new Implementation())); + class SubListImplementation extends Implementation { + public List emptyCollection() { + return super.emptyCollection().subList(0, 0); + } + } + return newTestSuite( + VectorTest.class, + CollectionTest.testSuite(new Implementation()), + CollectionTest.testSuite(new SubListImplementation())); + } + + /** + * tests for setSize() + */ + public void testSetSize() { + final Vector v = new Vector(); + for (int n : new int[] { 100, 5, 50 }) { + v.setSize(n); + assertEquals(n, v.size()); + assertNull(v.get(0)); + assertNull(v.get(n - 1)); + assertThrows( + ArrayIndexOutOfBoundsException.class, + new Runnable() { public void run() { v.setSize(-1); }}); + assertEquals(n, v.size()); + assertNull(v.get(0)); + assertNull(v.get(n - 1)); + } } }