Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rapicault2011-02-16 17:41:10 +0000
committerPascal Rapicault2011-02-16 17:41:10 +0000
commitc9980bc45b8c3a6797e90caeae764024ad773210 (patch)
treed93da63ec3fe9ea9cdf2fed5b2ed978effd298fa
parent526bb92601ce62c08da76aa933c89191d16da128 (diff)
downloadrt.equinox.p2-c9980bc45b8c3a6797e90caeae764024ad773210.tar.gz
rt.equinox.p2-c9980bc45b8c3a6797e90caeae764024ad773210.tar.xz
rt.equinox.p2-c9980bc45b8c3a6797e90caeae764024ad773210.zip
Add test for singletoness of capabilities.
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NegationTesting.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NegationTesting.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NegationTesting.java
index 9a2f6a6b0..4dd1b4422 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NegationTesting.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NegationTesting.java
@@ -336,4 +336,45 @@ public class NegationTesting extends AbstractProvisioningTest {
IProvisioningPlan plan = planner.getProvisioningPlan(request, null, null);
assertNotOK("plan should fail", plan.getStatus());
}
+
+ //This test demonstrates having capabilities that are unique
+ public void testUniqueCapability() {
+ MetadataFactory.InstallableUnitDescription iud1 = new MetadataFactory.InstallableUnitDescription();
+ iud1.setId("TestNegation4");
+ iud1.setVersion(Version.create("1.0.0"));
+ RequiredCapability req1 = new RequiredCapability(NS, N, new VersionRange("[0.0.0, 1.1.1)"), null, 0, 0, false, null);
+ RequiredCapability req2 = new RequiredCapability(NS, N, new VersionRange(Version.create("1.1.1"), false, Version.MAX_VERSION, false), null, 0, 0, false, null);
+ Collection requirements = new ArrayList();
+ requirements.add(req1);
+ requirements.add(req2);
+ iud1.addRequirements(requirements);
+ Collection capabilities = new ArrayList();
+ capabilities.add(new ProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "TestNegation4", Version.create("1.0.0")));
+ capabilities.add(new ProvidedCapability(NS, N, Version.create("1.1.1")));
+ iud1.addProvidedCapabilities(capabilities);
+ IInstallableUnit iu1 = MetadataFactory.createInstallableUnit(iud1);
+
+ IProfile profile = createProfile("TestProfile." + getName());
+ IPlanner planner = createPlanner();
+ ProfileChangeRequest changeRequest = new ProfileChangeRequest(profile);
+ changeRequest.add(iu1);
+ ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(changeRequest, null, null);
+ assertOK(plan.getStatus());
+ assertFalse(plan.getAdditions().query(QueryUtil.createIUQuery(iu1), new NullProgressMonitor()).isEmpty());
+
+ MetadataFactory.InstallableUnitDescription iud2 = new MetadataFactory.InstallableUnitDescription();
+ iud2.setId("ProviderOf1");
+ iud2.setVersion(Version.create("1.0.0"));
+ Collection capabilities2 = new ArrayList();
+ capabilities2.add(MetadataFactory.createProvidedCapability(NS, N, Version.create("1.0.0")));
+ iud2.addProvidedCapabilities(capabilities2);
+ IInstallableUnit iu2 = MetadataFactory.createInstallableUnit(iud2);
+
+ ProfileChangeRequest changeRequest2 = new ProfileChangeRequest(profile);
+ changeRequest2.add(iu1);
+ changeRequest2.add(iu2);
+ ProvisioningPlan plan2 = (ProvisioningPlan) planner.getProvisioningPlan(changeRequest2, null, null);
+ assertNotOK(plan2.getStatus());
+
+ }
}

Back to the top