Make testframework jar independent of collections jar
(Except Bag interface) git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/collections/trunk@131234 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f8acd98e11
commit
03f4174238
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/Attic/AbstractTestBag.java,v 1.1 2003/10/02 22:35:31 scolebourne Exp $
|
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/Attic/AbstractTestBag.java,v 1.2 2003/10/05 12:34:46 scolebourne Exp $
|
||||||
* ====================================================================
|
* ====================================================================
|
||||||
*
|
*
|
||||||
* The Apache Software License, Version 1.1
|
* The Apache Software License, Version 1.1
|
||||||
|
@ -72,8 +72,10 @@ import java.util.List;
|
||||||
* you may still use this base set of cases. Simply override the
|
* you may still use this base set of cases. Simply override the
|
||||||
* test case (method) your {@link Bag} fails.
|
* test case (method) your {@link Bag} fails.
|
||||||
*
|
*
|
||||||
|
* @version $Revision: 1.2 $ $Date: 2003/10/05 12:34:46 $
|
||||||
|
*
|
||||||
* @author Chuck Burdick
|
* @author Chuck Burdick
|
||||||
* @version $Id: AbstractTestBag.java,v 1.1 2003/10/02 22:35:31 scolebourne Exp $
|
* @author Stephen Colebourne
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractTestBag extends AbstractTestObject {
|
public abstract class AbstractTestBag extends AbstractTestObject {
|
||||||
// TODO: this class should really extend from TestCollection, but the bag
|
// TODO: this class should really extend from TestCollection, but the bag
|
||||||
|
@ -170,35 +172,83 @@ public abstract class AbstractTestBag extends AbstractTestObject {
|
||||||
|
|
||||||
public void testContains() {
|
public void testContains() {
|
||||||
Bag bag = makeBag();
|
Bag bag = makeBag();
|
||||||
bag.add("A");
|
|
||||||
bag.add("A");
|
assertEquals("Bag does not have at least 1 'A'", false, bag.contains("A"));
|
||||||
bag.add("A");
|
assertEquals("Bag does not have at least 1 'B'", false, bag.contains("B"));
|
||||||
bag.add("B");
|
|
||||||
bag.add("B");
|
bag.add("A"); // bag 1A
|
||||||
List compare = new ArrayList();
|
assertEquals("Bag has at least 1 'A'", true, bag.contains("A"));
|
||||||
compare.add("A");
|
assertEquals("Bag does not have at least 1 'B'", false, bag.contains("B"));
|
||||||
compare.add("B");
|
|
||||||
assertEquals("Other list has 1 'B'", 1, (new HashBag(compare)).getCount("B"));
|
bag.add("A"); // bag 2A
|
||||||
assertTrue("Bag has at least 1 'B'", 1 <= bag.getCount("B"));
|
assertEquals("Bag has at least 1 'A'", true, bag.contains("A"));
|
||||||
assertTrue("Bag contains items in the list", bag.containsAll(compare));
|
assertEquals("Bag does not have at least 1 'B'", false, bag.contains("B"));
|
||||||
compare.add("A");
|
|
||||||
compare.add("B");
|
bag.add("B"); // bag 2A,1B
|
||||||
assertEquals("Other list has 2 'B'", 2, (new HashBag(compare)).getCount("B"));
|
assertEquals("Bag has at least 1 'A'", true, bag.contains("A"));
|
||||||
assertTrue("Bag has at least 2 'B'", 2 <= bag.getCount("B"));
|
assertEquals("Bag has at least 1 'B'", true, bag.contains("B"));
|
||||||
assertTrue("Bag contains items in the list", bag.containsAll(compare));
|
}
|
||||||
compare.add("A");
|
|
||||||
compare.add("B");
|
public void testContainsAll() {
|
||||||
assertEquals("Other list has 3 'B'", 3, (new HashBag(compare)).getCount("B"));
|
Bag bag = makeBag();
|
||||||
assertTrue("Bag does not have 3 'B'", 3 > bag.getCount("B"));
|
List known = new ArrayList();
|
||||||
assertTrue("Bag contains items in the list", !bag.containsAll(compare));
|
List known1A = new ArrayList();
|
||||||
|
known1A.add("A");
|
||||||
|
List known2A = new ArrayList();
|
||||||
|
known2A.add("A");
|
||||||
|
known2A.add("A");
|
||||||
|
List known1B = new ArrayList();
|
||||||
|
known1B.add("B");
|
||||||
|
List known1A1B = new ArrayList();
|
||||||
|
known1A1B.add("A");
|
||||||
|
known1A1B.add("B");
|
||||||
|
|
||||||
|
assertEquals("Bag containsAll of empty", true, bag.containsAll(known));
|
||||||
|
assertEquals("Bag does not containsAll of 1 'A'", false, bag.containsAll(known1A));
|
||||||
|
assertEquals("Bag does not containsAll of 2 'A'", false, bag.containsAll(known2A));
|
||||||
|
assertEquals("Bag does not containsAll of 1 'B'", false, bag.containsAll(known1B));
|
||||||
|
assertEquals("Bag does not containsAll of 1 'A' 1 'B'", false, bag.containsAll(known1A1B));
|
||||||
|
|
||||||
|
bag.add("A"); // bag 1A
|
||||||
|
assertEquals("Bag containsAll of empty", true, bag.containsAll(known));
|
||||||
|
assertEquals("Bag containsAll of 1 'A'", true, bag.containsAll(known1A));
|
||||||
|
assertEquals("Bag does not containsAll of 2 'A'", false, bag.containsAll(known2A));
|
||||||
|
assertEquals("Bag does not containsAll of 1 'B'", false, bag.containsAll(known1B));
|
||||||
|
assertEquals("Bag does not containsAll of 1 'A' 1 'B'", false, bag.containsAll(known1A1B));
|
||||||
|
|
||||||
|
bag.add("A"); // bag 2A
|
||||||
|
assertEquals("Bag containsAll of empty", true, bag.containsAll(known));
|
||||||
|
assertEquals("Bag containsAll of 1 'A'", true, bag.containsAll(known1A));
|
||||||
|
assertEquals("Bag containsAll of 2 'A'", true, bag.containsAll(known2A));
|
||||||
|
assertEquals("Bag does not containsAll of 1 'B'", false, bag.containsAll(known1B));
|
||||||
|
assertEquals("Bag does not containsAll of 1 'A' 1 'B'", false, bag.containsAll(known1A1B));
|
||||||
|
|
||||||
|
bag.add("A"); // bag 3A
|
||||||
|
assertEquals("Bag containsAll of empty", true, bag.containsAll(known));
|
||||||
|
assertEquals("Bag containsAll of 1 'A'", true, bag.containsAll(known1A));
|
||||||
|
assertEquals("Bag containsAll of 2 'A'", true, bag.containsAll(known2A));
|
||||||
|
assertEquals("Bag does not containsAll of 1 'B'", false, bag.containsAll(known1B));
|
||||||
|
assertEquals("Bag does not containsAll of 1 'A' 1 'B'", false, bag.containsAll(known1A1B));
|
||||||
|
|
||||||
|
bag.add("B"); // bag 3A1B
|
||||||
|
assertEquals("Bag containsAll of empty", true, bag.containsAll(known));
|
||||||
|
assertEquals("Bag containsAll of 1 'A'", true, bag.containsAll(known1A));
|
||||||
|
assertEquals("Bag containsAll of 2 'A'", true, bag.containsAll(known2A));
|
||||||
|
assertEquals("Bag containsAll of 1 'B'", true, bag.containsAll(known1B));
|
||||||
|
assertEquals("Bag containsAll of 1 'A' 1 'B'", true, bag.containsAll(known1A1B));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testSize() {
|
public void testSize() {
|
||||||
Bag bag = makeBag();
|
Bag bag = makeBag();
|
||||||
|
assertEquals("Should have 0 total items", 0, bag.size());
|
||||||
bag.add("A");
|
bag.add("A");
|
||||||
|
assertEquals("Should have 1 total items", 1, bag.size());
|
||||||
bag.add("A");
|
bag.add("A");
|
||||||
|
assertEquals("Should have 2 total items", 2, bag.size());
|
||||||
bag.add("A");
|
bag.add("A");
|
||||||
|
assertEquals("Should have 3 total items", 3, bag.size());
|
||||||
bag.add("B");
|
bag.add("B");
|
||||||
|
assertEquals("Should have 4 total items", 4, bag.size());
|
||||||
bag.add("B");
|
bag.add("B");
|
||||||
assertEquals("Should have 5 total items", 5, bag.size());
|
assertEquals("Should have 5 total items", 5, bag.size());
|
||||||
bag.remove("A", 2);
|
bag.remove("A", 2);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/Attic/AbstractTestMap.java,v 1.1 2003/10/02 23:01:09 scolebourne Exp $
|
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/Attic/AbstractTestMap.java,v 1.2 2003/10/05 12:34:46 scolebourne Exp $
|
||||||
* ====================================================================
|
* ====================================================================
|
||||||
*
|
*
|
||||||
* The Apache Software License, Version 1.1
|
* The Apache Software License, Version 1.1
|
||||||
|
@ -59,9 +59,11 @@ package org.apache.commons.collections;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
@ -148,7 +150,8 @@ import java.util.Set;
|
||||||
* @author Michael Smith
|
* @author Michael Smith
|
||||||
* @author Rodney Waldhoff
|
* @author Rodney Waldhoff
|
||||||
* @author Paul Jack
|
* @author Paul Jack
|
||||||
* @version $Revision: 1.1 $ $Date: 2003/10/02 23:01:09 $
|
* @author Stephen Colebourne
|
||||||
|
* @version $Revision: 1.2 $ $Date: 2003/10/05 12:34:46 $
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractTestMap extends AbstractTestObject {
|
public abstract class AbstractTestMap extends AbstractTestObject {
|
||||||
|
|
||||||
|
@ -868,7 +871,9 @@ public abstract class AbstractTestMap extends AbstractTestObject {
|
||||||
private Map.Entry[] makeEntryArray(Object[] keys, Object[] values) {
|
private Map.Entry[] makeEntryArray(Object[] keys, Object[] values) {
|
||||||
Map.Entry[] result = new Map.Entry[keys.length];
|
Map.Entry[] result = new Map.Entry[keys.length];
|
||||||
for (int i = 0; i < keys.length; i++) {
|
for (int i = 0; i < keys.length; i++) {
|
||||||
result[i] = new DefaultMapEntry(keys[i], values[i]);
|
Map map = new HashMap();
|
||||||
|
map.put(keys[i], values[i]);
|
||||||
|
result[i] = (Map.Entry) map.entrySet().iterator().next();
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -1187,8 +1192,8 @@ public abstract class AbstractTestMap extends AbstractTestObject {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void verifyValues() {
|
protected void verifyValues() {
|
||||||
Bag bag1 = new HashBag(confirmed.values());
|
List known = new ArrayList(confirmed.values());
|
||||||
Bag bag2 = new HashBag(values);
|
List test = new ArrayList(values);
|
||||||
|
|
||||||
int size = confirmed.size();
|
int size = confirmed.size();
|
||||||
boolean empty = confirmed.isEmpty();
|
boolean empty = confirmed.isEmpty();
|
||||||
|
@ -1198,8 +1203,12 @@ public abstract class AbstractTestMap extends AbstractTestObject {
|
||||||
empty, values.isEmpty());
|
empty, values.isEmpty());
|
||||||
assertTrue("values should contain all HashMap's elements",
|
assertTrue("values should contain all HashMap's elements",
|
||||||
values.containsAll(confirmed.values()));
|
values.containsAll(confirmed.values()));
|
||||||
assertEquals("Map's values should still equal HashMap's",
|
// originally coded to use a HashBag, but now separate jar so...
|
||||||
bag1, bag2);
|
for (Iterator it = known.iterator(); it.hasNext();) {
|
||||||
|
boolean removed = test.remove(it.next());
|
||||||
|
assertTrue("Map's values should still equal HashMap's", removed);
|
||||||
|
}
|
||||||
|
assertTrue("Map's values should still equal HashMap's", test.isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue