diff options
Diffstat (limited to 'common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/collection/SynchronizedBagTests.java')
-rw-r--r-- | common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/collection/SynchronizedBagTests.java | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/collection/SynchronizedBagTests.java b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/collection/SynchronizedBagTests.java new file mode 100644 index 0000000000..011315bed8 --- /dev/null +++ b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/collection/SynchronizedBagTests.java @@ -0,0 +1,78 @@ +/******************************************************************************* + * Copyright (c) 2005, 2015 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.common.utility.tests.internal.collection; + +import java.util.Collection; +import org.eclipse.jpt.common.utility.collection.Bag; +import org.eclipse.jpt.common.utility.internal.collection.CollectionTools; +import org.eclipse.jpt.common.utility.internal.collection.HashBag; + +@SuppressWarnings("nls") +public class SynchronizedBagTests + extends BagTests +{ + public SynchronizedBagTests(String name) { + super(name); + } + + @Override + protected Bag<String> buildBag_() { + return CollectionTools.synchronizedBag(); + } + + @Override + protected Bag<String> buildBag(Collection<String> c) { + return CollectionTools.synchronizedBag(new HashBag<String>(c)); + } + + @Override + protected Bag<String> buildBag(int initialCapacity, float loadFactor) { + return CollectionTools.synchronizedBag(new HashBag<String>(initialCapacity, loadFactor)); + } + + @Override + public void testClone() { + // synchronized bag is not cloneable + } + + public void testCtorBagObject_nullBag() { + boolean exCaught = false; + try { + Bag<String> bag = CollectionTools.synchronizedBag(null, "foo"); + fail("bogus bag: " + bag); + } catch (NullPointerException ex) { + exCaught = true; + } + assertTrue(exCaught); + } + + public void testCtorBagObject_nullMutex() { + Bag<String> wrapped = CollectionTools.hashBag(); + boolean exCaught = false; + try { + Bag<String> bag = CollectionTools.synchronizedBag(wrapped, null); + fail("bogus bag: " + bag); + } catch (NullPointerException ex) { + exCaught = true; + } + assertTrue(exCaught); + } + + public void testCtorBag_nullBag() { + boolean exCaught = false; + try { + Bag<String> bag = CollectionTools.synchronizedBag(null); + fail("bogus bag: " + bag); + } catch (NullPointerException ex) { + exCaught = true; + } + assertTrue(exCaught); + } +} |