[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jakarta-commons-dev
Subject:    [PATCH][Collections] New testing framework, patch #1
From:       "Jack, Paul" <pjack () sfaf ! org>
Date:       2002-05-31 0:47:27
[Download RAW message or body]

Okay, so the goal was to be able to modularize the 
tests in such a way that objects that return a collection
or map could have those return values tested using
TestMap, TestCollection etc.

How I decided to handle that was to create a new
implementation of junit.framework.Test, that allows
you to specify "bulk test" methods in addition to
the usual simple test methods:

   public BulkTest bulkTestListSubList() {
       return new TestList() {
           public List makeFullList() {
               return outer.makeFullList().subList(2, 12);
           }

           public BulkTest bulkTestSubList() {
               return null; // avoid recursion
           }
       };
   }

The above example would be used to run through ALL of
the tests defined by TestList on its sublists...

A similar approach will be used for Maps and their
collection views.

This patch contains:

1.  The code for the new BulkTest class.
2.  Patch for TestObject to make it extend BulkTest
instead of TestCase.
3.  Patches for almost all of the classes, to replace
their suite() methods.  TestSuite knows nothing about
bulk test methods, so it can't be used.

After this patch, all existing tests still work.

Upcoming patches will have versions of TestList and
TestMap that utilize bulk test methods for their 
subcollections.

-Paul



["BulkTest.java" (application/octet-stream)]
["col_test_patch_1.diff" (application/octet-stream)]

Index: TestArrayIterator.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestArrayIterator.java,v
 retrieving revision 1.8
diff -u -r1.8 TestArrayIterator.java
--- TestArrayIterator.java	19 Mar 2002 01:37:40 -0000	1.8
+++ TestArrayIterator.java	31 May 2002 00:35:01 -0000
@@ -82,7 +82,7 @@
     };
     
     public static Test suite() {
-        return new TestSuite(TestArrayIterator.class);
+        return new TestArrayIterator("TestArrayIterator");
     }
     
     public TestArrayIterator(String testName) {
Index: TestArrayIterator2.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestArrayIterator2.java,v
 retrieving revision 1.3
diff -u -r1.3 TestArrayIterator2.java
--- TestArrayIterator2.java	19 Mar 2002 00:05:16 -0000	1.3
+++ TestArrayIterator2.java	31 May 2002 00:35:01 -0000
@@ -79,7 +79,7 @@
     };
     
     public static Test suite() {
-        return new TestSuite(TestArrayIterator2.class);
+        return new TestArrayIterator2("TestArrayIterator2");
     }
     
     public TestArrayIterator2(String testName) {
Index: TestArrayList.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestArrayList.java,v
 retrieving revision 1.4
diff -u -r1.4 TestArrayList.java
--- TestArrayList.java	26 Feb 2002 17:31:51 -0000	1.4
+++ TestArrayList.java	31 May 2002 00:35:01 -0000
@@ -78,11 +78,6 @@
         super(testName);
     }
 
-    public static Test suite()
-    {
-        return new TestSuite(TestArrayList.class);
-    }
-
     public static void main(String args[])
     {
         String[] testCaseName = { TestArrayList.class.getName() };
Index: TestArrayStack.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestArrayStack.java,v
 retrieving revision 1.6
diff -u -r1.6 TestArrayStack.java
--- TestArrayStack.java	26 Feb 2002 17:31:51 -0000	1.6
+++ TestArrayStack.java	31 May 2002 00:35:01 -0000
@@ -76,7 +76,7 @@
     }
 
     public static Test suite() {
-        return new TestSuite(TestArrayStack.class);
+        return new TestArrayStack("TestArrayStack");
     }
 
     public static void main(String args[]) {
Index: TestBeanMap.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestBeanMap.java,v
 retrieving revision 1.5
diff -u -r1.5 TestBeanMap.java
--- TestBeanMap.java	13 Mar 2002 04:59:03 -0000	1.5
+++ TestBeanMap.java	31 May 2002 00:35:01 -0000
@@ -76,7 +76,7 @@
     }
 
     public static Test suite() {
-        return new TestSuite(TestBeanMap.class);
+        return new TestBeanMap("TestBeanMap");
     }
 
 /*
Index: TestBinaryHeap.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestBinaryHeap.java,v
 retrieving revision 1.2
diff -u -r1.2 TestBinaryHeap.java
--- TestBinaryHeap.java	19 Mar 2002 04:49:00 -0000	1.2
+++ TestBinaryHeap.java	31 May 2002 00:35:01 -0000
@@ -77,7 +77,7 @@
 public class TestBinaryHeap extends TestObject {
     
   public static Test suite() {
-    return new TestSuite(TestBinaryHeap.class);
+    return new TestBinaryHeap("TestBinaryHeap");
   }
   
   public TestBinaryHeap(String testName) {
Index: TestCursorableLinkedList.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestCursorableLinkedList.java,v
 retrieving revision 1.4
diff -u -r1.4 TestCursorableLinkedList.java
--- TestCursorableLinkedList.java	25 Feb 2002 23:51:24 -0000	1.4
+++ TestCursorableLinkedList.java	31 May 2002 00:35:02 -0000
@@ -74,7 +74,7 @@
     }
 
     public static Test suite() {
-        return new TestSuite(TestCursorableLinkedList.class);
+        return new TestCursorableLinkedList("TestCursorableLinkedList");
     }
 
     public static void main(String args[]) {
Index: TestDoubleOrderedMap.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestDoubleOrderedMap.java,v
 retrieving revision 1.4
diff -u -r1.4 TestDoubleOrderedMap.java
--- TestDoubleOrderedMap.java	28 May 2002 06:51:03 -0000	1.4
+++ TestDoubleOrderedMap.java	31 May 2002 00:35:02 -0000
@@ -95,7 +95,7 @@
      * @return the test suite
      */
     public static Test suite() {
-        return new TestSuite(TestDoubleOrderedMap.class);
+        return new TestDoubleOrderedMap("TestDoubleOrderedMap");
     }
 
     /**
Index: TestFastArrayList.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestFastArrayList.java,v
 retrieving revision 1.4
diff -u -r1.4 TestFastArrayList.java
--- TestFastArrayList.java	26 Feb 2002 17:31:51 -0000	1.4
+++ TestFastArrayList.java	31 May 2002 00:35:02 -0000
@@ -80,7 +80,7 @@
 
     public static Test suite()
     {
-        return new TestSuite(TestFastArrayList.class);
+        return new TestFastArrayList("TestFastArrayList");
     }
 
     public static void main(String args[])
Index: TestFastArrayList1.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestFastArrayList1.java,v
 retrieving revision 1.1
diff -u -r1.1 TestFastArrayList1.java
--- TestFastArrayList1.java	21 Apr 2001 12:22:30 -0000	1.1
+++ TestFastArrayList1.java	31 May 2002 00:35:02 -0000
@@ -82,7 +82,7 @@
 
     public static Test suite()
     {
-        return new TestSuite(TestFastArrayList1.class);
+        return new TestFastArrayList1("TestFastArrayList1");
     }
 
     public static void main(String args[])
Index: TestFastHashMap.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestFastHashMap.java,v
 retrieving revision 1.4
diff -u -r1.4 TestFastHashMap.java
--- TestFastHashMap.java	26 Feb 2002 00:31:32 -0000	1.4
+++ TestFastHashMap.java	31 May 2002 00:35:02 -0000
@@ -80,7 +80,7 @@
 
     public static Test suite()
     {
-        return new TestSuite(TestFastHashMap.class);
+        return new TestFastHashMap("TestFastHashMap");
     }
 
     public static void main(String args[])
Index: TestFastHashMap1.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestFastHashMap1.java,v
 retrieving revision 1.2
diff -u -r1.2 TestFastHashMap1.java
--- TestFastHashMap1.java	22 Feb 2002 02:18:50 -0000	1.2
+++ TestFastHashMap1.java	31 May 2002 00:35:02 -0000
@@ -82,7 +82,7 @@
 
     public static Test suite()
     {
-        return new TestSuite(TestFastHashMap1.class);
+        return new TestFastHashMap1("TestFastHashMap1");
     }
 
     public static void main(String args[])
Index: TestFastTreeMap.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestFastTreeMap.java,v
 retrieving revision 1.5
diff -u -r1.5 TestFastTreeMap.java
--- TestFastTreeMap.java	26 Feb 2002 00:31:32 -0000	1.5
+++ TestFastTreeMap.java	31 May 2002 00:35:02 -0000
@@ -80,7 +80,7 @@
 
     public static Test suite()
     {
-        return new TestSuite(TestFastTreeMap.class);
+        return new TestFastTreeMap("TestFastTreeMap");
     }
 
     public static void main(String args[])
Index: TestFastTreeMap1.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestFastTreeMap1.java,v
 retrieving revision 1.2
diff -u -r1.2 TestFastTreeMap1.java
--- TestFastTreeMap1.java	22 Feb 2002 02:18:50 -0000	1.2
+++ TestFastTreeMap1.java	31 May 2002 00:35:03 -0000
@@ -82,7 +82,7 @@
 
     public static Test suite()
     {
-        return new TestSuite(TestFastTreeMap1.class);
+        return new TestFastTreeMap1("TestFastTreeMap1");
     }
 
     public static void main(String args[])
Index: TestHashBag.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestHashBag.java,v
 retrieving revision 1.1
diff -u -r1.1 TestHashBag.java
--- TestHashBag.java	29 Aug 2001 15:28:07 -0000	1.1
+++ TestHashBag.java	31 May 2002 00:35:03 -0000
@@ -75,7 +75,7 @@
    }
 
    public static Test suite() {
-      return new TestSuite(TestHashBag.class);
+      return new TestHashBag("TestHashBag");
    }
 
    public static void main(String args[]) {
Index: TestIteratorChain.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestIteratorChain.java,v
 retrieving revision 1.1
diff -u -r1.1 TestIteratorChain.java
--- TestIteratorChain.java	8 Apr 2002 23:39:01 -0000	1.1
+++ TestIteratorChain.java	31 May 2002 00:35:03 -0000
@@ -89,7 +89,7 @@
     protected List list3 = null;
 
     public static Test suite() {
-        return new TestSuite(TestIteratorChain.class);
+        return new TestIteratorChain("TestIteratorChain");
     }
 
     public TestIteratorChain(String testName) {
Index: TestLRUMap.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestLRUMap.java,v
 retrieving revision 1.21
diff -u -r1.21 TestLRUMap.java
--- TestLRUMap.java	28 May 2002 06:51:03 -0000	1.21
+++ TestLRUMap.java	31 May 2002 00:35:03 -0000
@@ -83,7 +83,7 @@
     }
 
     public static Test suite() {
-        return new TestSuite(TestLRUMap.class);
+        return new TestLRUMap("TestLRUMap");
     }
 
     public static void main(String args[]) {
Index: TestListIteratorWrapper.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestListIteratorWrapper.java,v
 retrieving revision 1.1
diff -u -r1.1 TestListIteratorWrapper.java
--- TestListIteratorWrapper.java	9 Apr 2002 16:40:58 -0000	1.1
+++ TestListIteratorWrapper.java	31 May 2002 00:35:03 -0000
@@ -85,7 +85,7 @@
     protected List list1 = null;
 
     public static Test suite() {
-        return new TestSuite(TestListIteratorWrapper.class);
+        return new TestListIteratorWrapper("TestListIteratorWrapper");
     }
 
     public TestListIteratorWrapper(String testName) {
Index: TestMultiHashMap.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestMultiHashMap.java,v
 retrieving revision 1.4
diff -u -r1.4 TestMultiHashMap.java
--- TestMultiHashMap.java	28 May 2002 06:51:03 -0000	1.4
+++ TestMultiHashMap.java	31 May 2002 00:35:03 -0000
@@ -81,7 +81,7 @@
 
     public static Test suite()
     {
-        return new TestSuite(TestMultiHashMap.class);
+        return new TestMultiHashMap("TestMultiHashMap");
     }
 
     public static void main(String args[])
Index: TestObject.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestObject.java,v
 retrieving revision 1.10
diff -u -r1.10 TestObject.java
--- TestObject.java	1 Mar 2002 18:36:21 -0000	1.10
+++ TestObject.java	31 May 2002 00:35:03 -0000
@@ -93,9 +93,9 @@
  * @author Rodney Waldhoff
  * @version $Id: TestObject.java,v 1.10 2002/03/01 18:36:21 morgand Exp $
  */
-public abstract class TestObject extends TestCase {
+public abstract class TestObject extends BulkTest {
     public TestObject(String testName) {
-        super(testName);
+        super();
     }
 
     // current major release for Collections
Index: TestSequencedHashMap.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestSequencedHashMap.java,v
 retrieving revision 1.11
diff -u -r1.11 TestSequencedHashMap.java
--- TestSequencedHashMap.java	9 May 2002 03:20:59 -0000	1.11
+++ TestSequencedHashMap.java	31 May 2002 00:35:03 -0000
@@ -88,7 +88,7 @@
     }
 
     public static Test suite() {
-        return new TestSuite(TestSequencedHashMap.class);
+        return new TestSequencedHashMap("TestSequencedHashMap");
     }
 
     // current versions of SequencedHashMap and subclasses are not
Index: TestSingletonIterator.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestSingletonIterator.java,v
 retrieving revision 1.2
diff -u -r1.2 TestSingletonIterator.java
--- TestSingletonIterator.java	25 Feb 2002 23:37:48 -0000	1.2
+++ TestSingletonIterator.java	31 May 2002 00:35:03 -0000
@@ -77,7 +77,7 @@
     private static final Object testValue = "foo";
     
     public static Test suite() {
-        return new TestSuite(TestSingletonIterator.class);
+        return new TestSingletonIterator("TestSingletonIterator");
     }
     
     public TestSingletonIterator(String testName) {
Index: TestSoftRefHashMap.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestSoftRefHashMap.java,v
 retrieving revision 1.2
diff -u -r1.2 TestSoftRefHashMap.java
--- TestSoftRefHashMap.java	26 Feb 2002 00:31:32 -0000	1.2
+++ TestSoftRefHashMap.java	31 May 2002 00:35:03 -0000
@@ -78,7 +78,7 @@
     }
 
     public static Test suite() {
-        return new TestSuite(TestSoftRefHashMap.class);
+        return new TestSoftRefHashMap("TestSoftRefHashMap");
     }
 
     public static void main(String args[]) {
Index: TestTreeBag.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestTreeBag.java,v
 retrieving revision 1.1
diff -u -r1.1 TestTreeBag.java
--- TestTreeBag.java	29 Aug 2001 15:28:07 -0000	1.1
+++ TestTreeBag.java	31 May 2002 00:35:03 -0000
@@ -75,7 +75,7 @@
    }
 
    public static Test suite() {
-      return new TestSuite(TestTreeBag.class);
+      return new TestTreeBag("TestTreeBag");
    }
 
    public static void main(String args[]) {
Index: TestUniqueFilterIterator.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/TestUniqueFilterIterator.java,v
 retrieving revision 1.1
diff -u -r1.1 TestUniqueFilterIterator.java
--- TestUniqueFilterIterator.java	9 Apr 2002 16:43:29 -0000	1.1
+++ TestUniqueFilterIterator.java	31 May 2002 00:35:03 -0000
@@ -87,7 +87,7 @@
     protected List list1 = null;
 
     public static Test suite() {
-        return new TestSuite(TestUniqueFilterIterator.class);
+        return new TestUniqueFilterIterator("TestUniqueFilterIterator");
     }
 
     public TestUniqueFilterIterator(String testName) {
Index: comparators/TestComparableComparator.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/comparators/TestComparableComparator.java,v
 retrieving revision 1.1
diff -u -r1.1 TestComparableComparator.java
--- comparators/TestComparableComparator.java	1 Mar 2002 18:36:21 -0000	1.1
+++ comparators/TestComparableComparator.java	31 May 2002 00:35:03 -0000
@@ -15,7 +15,7 @@
     }
 
     public static Test suite() {
-        return new TestSuite(TestComparableComparator.class);
+        return new TestComparableComparator("TestComparableComparator");
     }
 
     public Comparator makeComparator() {
Index: comparators/TestComparatorChain.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/comparators/TestComparatorChain.java,v
 retrieving revision 1.2
diff -u -r1.2 TestComparatorChain.java
--- comparators/TestComparatorChain.java	19 Mar 2002 22:25:58 -0000	1.2
+++ comparators/TestComparatorChain.java	31 May 2002 00:35:03 -0000
@@ -17,7 +17,7 @@
     }
 
     public static Test suite() {
-        return new TestSuite(TestComparatorChain.class);
+        return new TestComparatorChain("TestComparatorChain");
     }
 
     /**
Index: comparators/TestReverseComparator.java
===================================================================
RCS file: /home/cvspublic/jakarta-commons/collections/src/test/org/apache/commons/collections/comparators/TestReverseComparator.java,v
 retrieving revision 1.2
diff -u -r1.2 TestReverseComparator.java
--- comparators/TestReverseComparator.java	1 Mar 2002 19:39:28 -0000	1.2
+++ comparators/TestReverseComparator.java	31 May 2002 00:35:03 -0000
@@ -16,7 +16,7 @@
     }
 
     public static Test suite() {
-        return new TestSuite(TestReverseComparator.class);
+        return new TestReverseComparator("TestReverseComparator");
     }
 
     /**



--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@jakarta.apache.org>

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic