diff options
author | John Arthorne | 2008-11-12 20:44:36 +0000 |
---|---|---|
committer | John Arthorne | 2008-11-12 20:44:36 +0000 |
commit | b9a87557d11bd4fe7ed29dc7f4e58849f63d5d7c (patch) | |
tree | ddc327b106f401a588480b013e95302a221cdd3f /bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core | |
parent | 674a1781b1cddffb21c188e1092543962757c3bd (diff) | |
download | rt.equinox.p2-b9a87557d11bd4fe7ed29dc7f4e58849f63d5d7c.tar.gz rt.equinox.p2-b9a87557d11bd4fe7ed29dc7f4e58849f63d5d7c.tar.xz rt.equinox.p2-b9a87557d11bd4fe7ed29dc7f4e58849f63d5d7c.zip |
Added collector tests
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core')
2 files changed, 70 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AllTests.java index ade5b0dfd..b711283c9 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AllTests.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AllTests.java @@ -19,6 +19,7 @@ public class AllTests extends TestCase { public static Test suite() { TestSuite suite = new TestSuite(AllTests.class.getName()); + suite.addTestSuite(CollectorTest.class); suite.addTestSuite(FileUtilsTest.class); suite.addTestSuite(OrderedPropertiesTest.class); suite.addTestSuite(URIUtilTest.class); diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CollectorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CollectorTest.java new file mode 100644 index 000000000..3e49c2934 --- /dev/null +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CollectorTest.java @@ -0,0 +1,69 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * 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: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.equinox.p2.tests.core; + +import java.util.Collection; +import org.eclipse.equinox.internal.provisional.p2.query.Collector; +import org.eclipse.equinox.p2.tests.AbstractProvisioningTest; + +/** + * Tests for {@link Collector}. + */ +public class CollectorTest extends AbstractProvisioningTest { + public void testAccept() { + Collector collector = new Collector(); + String value = "value"; + collector.accept(value); + Object[] result = collector.toArray(Object.class); + assertEquals("1.0", 1, result.length); + assertEquals("1.1", value, result[0]); + + //adding a second copy of the same object is rejected + collector.accept(new String(value)); + result = collector.toArray(Object.class); + assertEquals("1.0", 1, result.length); + assertEquals("1.1", value, result[0]); + } + + public void testIsEmpty() { + Collector collector = new Collector(); + assertEquals("1.0", true, collector.isEmpty()); + collector.accept("value"); + assertEquals("1.0", false, collector.isEmpty()); + } + + public void testToCollection() { + Collector collector = new Collector(); + Collection result = collector.toCollection(); + assertEquals("1.0", 0, result.size()); + //collection should be immutable + try { + result.add("value"); + fail("1.1"); + } catch (RuntimeException e) { + //expected + } + + String value = "value"; + collector.accept(value); + result = collector.toCollection(); + assertEquals("2.0", 1, result.size()); + assertEquals("2.1", value, result.iterator().next()); + //collection should be immutable + try { + result.clear(); + fail("2.2"); + } catch (RuntimeException e) { + //expected + } + + } +} |