📄 testcollectionutils.java
字号:
list.add("One");
list.add("Two");
list.add("Three");
list.add("Four");
Collection output = CollectionUtils.selectRejected(list, EQUALS_TWO);
assertEquals(4, list.size());
assertEquals(3, output.size());
assertTrue(output.contains("One"));
assertTrue(output.contains("Three"));
assertTrue(output.contains("Four"));
}
public void testCollect() {
Transformer transformer = TransformerUtils.constantTransformer("z");
Collection collection = CollectionUtils.collect(collectionA, transformer);
assertTrue(collection.size() == collectionA.size());
assertTrue(collectionA.contains("a") && ! collectionA.contains("z"));
assertTrue(collection.contains("z") && !collection.contains("a"));
collection = new ArrayList();
CollectionUtils.collect(collectionA, transformer, collection);
assertTrue(collection.size() == collectionA.size());
assertTrue(collectionA.contains("a") && ! collectionA.contains("z"));
assertTrue(collection.contains("z") && !collection.contains("a"));
Iterator iterator = null;
collection = new ArrayList();
CollectionUtils.collect(iterator, transformer, collection);
iterator = collectionA.iterator();
CollectionUtils.collect(iterator, transformer, collection);
assertTrue(collection.size() == collectionA.size());
assertTrue(collectionA.contains("a") && ! collectionA.contains("z"));
assertTrue(collection.contains("z") && !collection.contains("a"));
iterator = collectionA.iterator();
collection = CollectionUtils.collect(iterator, transformer);
assertTrue(collection.size() == collectionA.size());
assertTrue(collection.contains("z") && !collection.contains("a"));
collection = CollectionUtils.collect((Iterator) null, (Transformer) null);
assertTrue(collection.size() == 0);
int size = collectionA.size();
CollectionUtils.collect((Collection) null, transformer, collectionA);
assertTrue(collectionA.size() == size && collectionA.contains("a"));
CollectionUtils.collect(collectionB, null, collectionA);
assertTrue(collectionA.size() == size && collectionA.contains("a"));
}
Transformer TRANSFORM_TO_INTEGER = new Transformer() {
public Object transform(Object input) {
return new Integer((String) input);
}
};
public void testTransform1() {
List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
CollectionUtils.transform(list, TRANSFORM_TO_INTEGER);
assertEquals(3, list.size());
assertEquals(new Integer(1), list.get(0));
assertEquals(new Integer(2), list.get(1));
assertEquals(new Integer(3), list.get(2));
list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
CollectionUtils.transform(null, TRANSFORM_TO_INTEGER);
assertEquals(3, list.size());
CollectionUtils.transform(list, null);
assertEquals(3, list.size());
CollectionUtils.transform(null, null);
assertEquals(3, list.size());
}
public void testTransform2() {
Set set = new HashSet();
set.add("1");
set.add("2");
set.add("3");
CollectionUtils.transform(set, new Transformer() {
public Object transform(Object input) {
return new Integer(4);
}
});
assertEquals(1, set.size());
assertEquals(new Integer(4), set.iterator().next());
}
//-----------------------------------------------------------------------
public void testAddIgnoreNull() {
Set set = new HashSet();
set.add("1");
set.add("2");
set.add("3");
assertEquals(false, CollectionUtils.addIgnoreNull(set, null));
assertEquals(3, set.size());
assertEquals(false, CollectionUtils.addIgnoreNull(set, "1"));
assertEquals(3, set.size());
assertEquals(true, CollectionUtils.addIgnoreNull(set, "4"));
assertEquals(4, set.size());
assertEquals(true, set.contains("4"));
}
//-----------------------------------------------------------------------
public void testPredicatedCollection() {
Predicate predicate = new Predicate() {
public boolean evaluate(Object o) {
return o instanceof String;
}
};
Collection collection =
CollectionUtils.predicatedCollection(new ArrayList(), predicate);
assertTrue("returned object should be a PredicatedCollection",
collection instanceof PredicatedCollection);
try {
collection =
CollectionUtils.predicatedCollection(new ArrayList(), null);
fail("Expecting IllegalArgumentException for null predicate.");
} catch (IllegalArgumentException ex) {
// expected
}
try {
collection =
CollectionUtils.predicatedCollection(null, predicate);
fail("Expecting IllegalArgumentException for null collection.");
} catch (IllegalArgumentException ex) {
// expected
}
}
public BulkTest bulkTestTypedCollection() {
return new TestTypedCollection("") {
public Collection typedCollection() {
return CollectionUtils.typedCollection(
new ArrayList(),
super.getType());
}
public BulkTest bulkTestAll() {
return new AbstractTestCollection("") {
public Collection makeCollection() {
return typedCollection();
}
public Collection makeConfirmedCollection() {
return new ArrayList();
}
public Collection makeConfirmedFullCollection() {
ArrayList list = new ArrayList();
list.addAll(java.util.Arrays.asList(getFullElements()));
return list;
}
public Object[] getFullElements() {
return getFullNonNullStringElements();
}
public Object[] getOtherElements() {
return getOtherNonNullStringElements();
}
};
}
};
}
public void testIsFull() {
Set set = new HashSet();
set.add("1");
set.add("2");
set.add("3");
try {
CollectionUtils.isFull(null);
fail();
} catch (NullPointerException ex) {}
assertEquals(false, CollectionUtils.isFull(set));
BoundedFifoBuffer buf = new BoundedFifoBuffer(set);
assertEquals(true, CollectionUtils.isFull(buf));
buf.remove("2");
assertEquals(false, CollectionUtils.isFull(buf));
buf.add("2");
assertEquals(true, CollectionUtils.isFull(buf));
Buffer buf2 = BufferUtils.synchronizedBuffer(buf);
assertEquals(true, CollectionUtils.isFull(buf2));
buf2.remove("2");
assertEquals(false, CollectionUtils.isFull(buf2));
buf2.add("2");
assertEquals(true, CollectionUtils.isFull(buf2));
}
public void testMaxSize() {
Set set = new HashSet();
set.add("1");
set.add("2");
set.add("3");
try {
CollectionUtils.maxSize(null);
fail();
} catch (NullPointerException ex) {}
assertEquals(-1, CollectionUtils.maxSize(set));
BoundedFifoBuffer buf = new BoundedFifoBuffer(set);
assertEquals(3, CollectionUtils.maxSize(buf));
buf.remove("2");
assertEquals(3, CollectionUtils.maxSize(buf));
buf.add("2");
assertEquals(3, CollectionUtils.maxSize(buf));
Buffer buf2 = BufferUtils.synchronizedBuffer(buf);
assertEquals(3, CollectionUtils.maxSize(buf2));
buf2.remove("2");
assertEquals(3, CollectionUtils.maxSize(buf2));
buf2.add("2");
assertEquals(3, CollectionUtils.maxSize(buf2));
}
public void testIntersectionUsesMethodEquals() {
// Let elta and eltb be objects...
Object elta = new Integer(17);
Object eltb = new Integer(17);
// ...which are equal...
assertEquals(elta,eltb);
assertEquals(eltb,elta);
// ...but not the same (==).
assertTrue(elta != eltb);
// Let cola and colb be collections...
Collection cola = new ArrayList();
Collection colb = new ArrayList();
// ...which contain elta and eltb,
// respectively.
cola.add(elta);
colb.add(eltb);
// Then the intersection of the two
// should contain one element.
Collection intersection = CollectionUtils.intersection(cola,colb);
assertEquals(1,intersection.size());
// In practice, this element will be the same (==) as elta
// or eltb, although this isn't strictly part of the
// contract.
Object eltc = intersection.iterator().next();
assertTrue((eltc == elta && eltc != eltb) || (eltc != elta && eltc == eltb));
// In any event, this element remains equal,
// to both elta and eltb.
assertEquals(elta,eltc);
assertEquals(eltc,elta);
assertEquals(eltb,eltc);
assertEquals(eltc,eltb);
}
public void testTransformedCollection() {
Transformer transformer = TransformerUtils.nopTransformer();
Collection collection =
CollectionUtils.transformedCollection(new ArrayList(), transformer);
assertTrue("returned object should be a TransformedCollection",
collection instanceof TransformedCollection);
try {
collection =
CollectionUtils.transformedCollection(new ArrayList(), null);
fail("Expecting IllegalArgumentException for null transformer.");
} catch (IllegalArgumentException ex) {
// expected
}
try {
collection =
CollectionUtils.transformedCollection(null, transformer);
fail("Expecting IllegalArgumentException for null collection.");
} catch (IllegalArgumentException ex) {
// expected
}
}
public void testTransformedCollection_2() {
List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
Collection result = CollectionUtils.transformedCollection(list, TRANSFORM_TO_INTEGER);
assertEquals(true, result.contains("1")); // untransformed
assertEquals(true, result.contains("2")); // untransformed
assertEquals(true, result.contains("3")); // untransformed
}
public void testSynchronizedCollection() {
Collection col = CollectionUtils.synchronizedCollection(new ArrayList());
assertTrue("Returned object should be a SynchronizedCollection.",
col instanceof SynchronizedCollection);
try {
col = CollectionUtils.synchronizedCollection(null);
fail("Expecting IllegalArgumentException for null collection.");
} catch (IllegalArgumentException ex) {
// expected
}
}
public void testUnmodifiableCollection() {
Collection col = CollectionUtils.unmodifiableCollection(new ArrayList());
assertTrue("Returned object should be a UnmodifiableCollection.",
col instanceof UnmodifiableCollection);
try {
col = CollectionUtils.unmodifiableCollection(null);
fail("Expecting IllegalArgumentException for null collection.");
} catch (IllegalArgumentException ex) {
// expected
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -