From a6aa4e67a9ce59b2b8d24d8d308ab3a6ce69d7a5 Mon Sep 17 00:00:00 2001 From: "Jesse N. Glick" Date: Tue, 31 Jul 2012 20:02:59 +0000 Subject: [PATCH] Stronger tests in preparation for #53622. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@1367736 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/tools/ant/util/VectorSetTest.java | 38 ++++++++++++++++++- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/src/tests/junit/org/apache/tools/ant/util/VectorSetTest.java b/src/tests/junit/org/apache/tools/ant/util/VectorSetTest.java index f0f70780f..cebf86a70 100644 --- a/src/tests/junit/org/apache/tools/ant/util/VectorSetTest.java +++ b/src/tests/junit/org/apache/tools/ant/util/VectorSetTest.java @@ -18,6 +18,7 @@ package org.apache.tools.ant.util; +import java.util.ArrayList; import java.util.Arrays; import junit.framework.TestCase; @@ -206,13 +207,26 @@ public class VectorSetTest extends TestCase { Object c = new Object(); v.addAll(Arrays.asList(new Object[] {O, a, b, c})); assertEquals(0, v.indexOf(O)); - v.retainAll(Arrays.asList(new Object[] {c, O})); + assertTrue(v.retainAll(Arrays.asList(new Object[] {c, O}))); assertEquals(2, v.size()); assertTrue(v.contains(O)); assertTrue(v.contains(c)); assertEquals(0, v.indexOf(O)); } + public void testRetainAllReturnValueAndEmptiness() { + v.add(1); + v.add(2); + v.add(3); + assertTrue(v.retainAll(Arrays.asList(1, 2))); + assertEquals(2, v.size()); + assertFalse(v.retainAll(Arrays.asList(1, 2))); + assertEquals(2, v.size()); + assertTrue(v.retainAll(Arrays.asList(4, 5))); + assertEquals(0, v.size()); + assertFalse(v.retainAll(Arrays.asList(4, 5))); + } + public void testSet() { v.add(O); Object a = new Object(); @@ -228,4 +242,24 @@ public class VectorSetTest extends TestCase { assertSame(a, v.get(0)); assertEquals(1, v.size()); } -} \ No newline at end of file + + public void testRetainAllSpeed() { + int size = 50000; + for (int i = 0; i < size; i++) { + v.add(i); + v.add(i); + } + assertEquals(size, v.size()); + ArrayList list = new ArrayList(); + for (int i = size - 4; i < 2 * size; i++) { + list.add(i); + v.add(i); + } + long start = System.currentTimeMillis(); + assertTrue(v.retainAll(list)); + long stop = System.currentTimeMillis(); + System.out.println("testRetainAllSpeed: " + (stop - start) + "msec"); + assertEquals(v.toString(), size + 4, v.size()); + } + +}