diff options
author | Pascal Rapicault | 2011-02-16 17:41:10 +0000 |
---|---|---|
committer | Pascal Rapicault | 2011-02-16 17:41:10 +0000 |
commit | c9980bc45b8c3a6797e90caeae764024ad773210 (patch) | |
tree | d93da63ec3fe9ea9cdf2fed5b2ed978effd298fa | |
parent | 526bb92601ce62c08da76aa933c89191d16da128 (diff) | |
download | rt.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.java | 41 |
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()); + + } } |