You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ps...@apache.org on 2003/10/12 08:37:31 UTC
cvs commit: jakarta-commons/collections/src/test/org/apache/commons/collections/observed TestObservableSortedSet.java
psteitz 2003/10/11 23:37:31
Modified: collections/src/test/org/apache/commons/collections
AbstractTestSortedSet.java
collections/src/test/org/apache/commons/collections/decorators
TestAll.java TestTransformedSortedSet.java
collections/src/test/org/apache/commons/collections/observed
TestObservableSortedSet.java
Added: collections/src/test/org/apache/commons/collections/decorators
TestPredicatedSortedSet.java
Log:
Added TestPredicatedSortedSet.
Added first() and last() checks to AbstractTestSortedSet verify.
Modified TestTransformedSortedSet and TestObservedSortedSet to use BulkTest.makeSuite.
Revision Changes Path
1.4 +19 -4 jakarta-commons/collections/src/test/org/apache/commons/collections/AbstractTestSortedSet.java
Index: AbstractTestSortedSet.java
===================================================================
RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/AbstractTestSortedSet.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- AbstractTestSortedSet.java 10 Oct 2003 21:19:39 -0000 1.3
+++ AbstractTestSortedSet.java 12 Oct 2003 06:37:30 -0000 1.4
@@ -96,11 +96,26 @@
protected void verify() {
super.verify();
- //Sorted sets should return in-order iterators by contract
+ // Check that iterator returns elements in order and first() and last()
+ // are consistent
Iterator colliter = collection.iterator();
Iterator confiter = confirmed.iterator();
+ Object first = null;
+ Object last = null;
while (colliter.hasNext()) {
- assertEquals("Element appears to be out of order.", colliter.next(), confiter.next());
+ if (first == null) {
+ first = colliter.next();
+ last = first;
+ } else {
+ last = colliter.next();
+ }
+ assertEquals("Element appears to be out of order.", last, confiter.next());
+ }
+ if (collection.size() > 0) {
+ assertEquals("Incorrect element returned by first().", first,
+ ((SortedSet) collection).first());
+ assertEquals("Incorrect element returned by last().", last,
+ ((SortedSet) collection).last());
}
}
1.19 +3 -2 jakarta-commons/collections/src/test/org/apache/commons/collections/decorators/TestAll.java
Index: TestAll.java
===================================================================
RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/decorators/TestAll.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- TestAll.java 6 Oct 2003 05:06:05 -0000 1.18
+++ TestAll.java 12 Oct 2003 06:37:30 -0000 1.19
@@ -113,6 +113,7 @@
suite.addTest(TestPredicatedBuffer.suite());
suite.addTest(TestPredicatedList.suite());
suite.addTest(TestPredicatedSet.suite());
+ suite.addTest(TestPredicatedSortedSet.suite());
suite.addTest(TestPredicatedMap.suite());
suite.addTest(TestPredicatedSortedMap.suite());
1.5 +8 -6 jakarta-commons/collections/src/test/org/apache/commons/collections/decorators/TestTransformedSortedSet.java
Index: TestTransformedSortedSet.java
===================================================================
RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/decorators/TestTransformedSortedSet.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- TestTransformedSortedSet.java 2 Oct 2003 22:48:41 -0000 1.4
+++ TestTransformedSortedSet.java 12 Oct 2003 06:37:30 -0000 1.5
@@ -60,12 +60,14 @@
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
+import java.util.SortedSet;
import java.util.TreeSet;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.apache.commons.collections.AbstractTestSortedSet;
+import org.apache.commons.collections.BulkTest;
/**
* Extension of {@link TestSortedSet} for exercising the {@link TransformedSortedSet}
@@ -83,7 +85,7 @@
}
public static Test suite() {
- return new TestSuite(TestTransformedSortedSet.class);
+ return BulkTest.makeSuite(TestTransformedSortedSet.class);
}
public static void main(String args[]) {
@@ -97,12 +99,12 @@
}
protected Set makeFullSet() {
- Set set = new TreeSet();
+ SortedSet set = new TreeSet();
set.addAll(Arrays.asList(getFullElements()));
return TransformedSortedSet.decorate(set, TestTransformedCollection.NOOP_TRANSFORMER);
}
- //-----------------------------------------------------------------------
+ //-----------------------------------------------------------------------
public void testTransformedSet() {
Set set = TransformedSortedSet.decorate(new HashSet(), TestTransformedCollection.STRING_TO_INTEGER_TRANSFORMER);
assertEquals(0, set.size());
@@ -117,5 +119,5 @@
assertEquals(false, set.remove(els[0]));
assertEquals(true, set.remove(new Integer((String) els[0])));
- }
+ }
}
1.1 jakarta-commons/collections/src/test/org/apache/commons/collections/decorators/TestPredicatedSortedSet.java
Index: TestPredicatedSortedSet.java
===================================================================
/*
* $Header: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/decorators/TestPredicatedSortedSet.java,v 1.1 2003/10/12 06:37:30 psteitz Exp $
* ====================================================================
*
* The Apache Software License, Version 1.1
*
* Copyright (c) 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 acknowledgement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgement may appear in the software itself,
* if and wherever such third-party acknowledgements 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 apache@apache.org.
*
* 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.decorators;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.apache.commons.collections.AbstractTestSortedSet;
import org.apache.commons.collections.BulkTest;
import org.apache.commons.collections.Predicate;
import org.apache.commons.collections.PredicateUtils;
/**
* Extension of {@link AbstractTestSortedSet} for exercising the
* {@link PredicatedSortedSet} implementation.
*
* @since Commons Collections 3.0
* @version $Revision: 1.1 $ $Date: 2003/10/12 06:37:30 $
*
* @author Phil Steitz
*/
public class TestPredicatedSortedSet extends AbstractTestSortedSet{
public TestPredicatedSortedSet(String testName) {
super(testName);
}
public static Test suite() {
return BulkTest.makeSuite(TestPredicatedSortedSet.class);
}
public static void main(String args[]) {
String[] testCaseName = { TestPredicatedSortedMap.class.getName()};
junit.textui.TestRunner.main(testCaseName);
}
//-------------------------------------------------------------------
protected Predicate truePredicate = PredicateUtils.truePredicate();
public Set makeEmptySet() {
return PredicatedSortedSet.decorate(new TreeSet(), truePredicate);
}
public Set makeFullSet() {
TreeSet set = new TreeSet();
set.addAll(Arrays.asList(getFullElements()));
return PredicatedSortedSet.decorate(set, truePredicate);
}
//--------------------------------------------------------------------
protected Predicate testPredicate =
new Predicate() {
public boolean evaluate(Object o) {
return (o instanceof String) && (((String) o).startsWith("A"));
}
};
protected SortedSet makeTestSet() {
return PredicatedSortedSet.decorate(new TreeSet(), testPredicate);
}
public void testGetSet() {
SortedSet set = makeTestSet();
assertTrue("returned set should not be null",
((PredicatedSortedSet) set).getSet() != null);
}
public void testIllegalAdd() {
SortedSet set = makeTestSet();
String testString = "B";
try {
set.add(testString);
fail("Should fail string predicate.");
} catch (IllegalArgumentException e) {
// expected
}
assertTrue("Collection shouldn't contain illegal element",
!set.contains(testString));
}
public void testIllegalAddAll() {
SortedSet set = makeTestSet();
Set elements = new TreeSet();
elements.add("Aone");
elements.add("Atwo");
elements.add("Bthree");
elements.add("Afour");
try {
set.addAll(elements);
fail("Should fail string predicate.");
} catch (IllegalArgumentException e) {
// expected
}
assertTrue("Set shouldn't contain illegal element",
!set.contains("Aone"));
assertTrue("Set shouldn't contain illegal element",
!set.contains("Atwo"));
assertTrue("Set shouldn't contain illegal element",
!set.contains("Bthree"));
assertTrue("Set shouldn't contain illegal element",
!set.contains("Afour"));
}
public void testComparator() {
SortedSet set = makeTestSet();
Comparator c = set.comparator();
assertTrue("natural order, so comparator should be null", c == null);
}
}
1.4 +6 -4 jakarta-commons/collections/src/test/org/apache/commons/collections/observed/TestObservableSortedSet.java
Index: TestObservableSortedSet.java
===================================================================
RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/observed/TestObservableSortedSet.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- TestObservableSortedSet.java 2 Oct 2003 22:48:40 -0000 1.3
+++ TestObservableSortedSet.java 12 Oct 2003 06:37:30 -0000 1.4
@@ -59,12 +59,14 @@
import java.util.Arrays;
import java.util.Set;
+import java.util.SortedSet;
import java.util.TreeSet;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.apache.commons.collections.AbstractTestSortedSet;
+import org.apache.commons.collections.BulkTest;
/**
* Extension of {@link TestSortedSet} for exercising the
@@ -82,7 +84,7 @@
}
public static Test suite() {
- return new TestSuite(TestObservableSortedSet.class);
+ return BulkTest.makeSuite(TestObservableSortedSet.class);
}
public static void main(String args[]) {
@@ -96,7 +98,7 @@
}
protected Set makeFullSet() {
- Set set = new TreeSet();
+ SortedSet set = new TreeSet();
set.addAll(Arrays.asList(getFullElements()));
return ObservableSortedSet.decorate(set, ObservedTestHelper.LISTENER);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org