Skip to main content
summaryrefslogtreecommitdiffstats
blob: 407e7afc6d5958ed474096af15331ae6feedba6b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/*******************************************************************************
 *  Copyright (c) 2007, 2009 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.engine;

import org.eclipse.equinox.internal.p2.engine.InstallableUnitOperand;
import org.eclipse.equinox.internal.p2.engine.phases.*;
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
import org.eclipse.equinox.p2.metadata.Version;
import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;

/**
 * Simple test of the engine API.
 */
public class PhaseApplicabilityTest extends AbstractProvisioningTest {

	public PhaseApplicabilityTest(String name) {
		super(name);
	}

	public PhaseApplicabilityTest() {
		super("");
	}

	public void testCollectPhase() {

		IInstallableUnit iuXv1 = createIU("iuX", Version.create("1.0.0"));
		IInstallableUnit iuXv2 = createIU("iuX", Version.create("2.0.0"));

		Collect collectPhase = new Collect(1) {
			protected boolean isApplicable(InstallableUnitOperand op) {
				return super.isApplicable(op);
			}
		};
		assertFalse(collectPhase.isApplicable(new InstallableUnitOperand(iuXv1, null)));
		assertFalse(collectPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv1)));
		assertTrue(collectPhase.isApplicable(new InstallableUnitOperand(null, iuXv1)));
		assertTrue(collectPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv2)));
	}

	public void testSizingPhase() {

		IInstallableUnit iuXv1 = createIU("iuX", Version.create("1.0.0"));
		IInstallableUnit iuXv2 = createIU("iuX", Version.create("2.0.0"));

		Sizing sizingPhase = new Sizing(1) {
			protected boolean isApplicable(InstallableUnitOperand op) {
				return super.isApplicable(op);
			}
		};
		assertFalse(sizingPhase.isApplicable(new InstallableUnitOperand(iuXv1, null)));
		assertFalse(sizingPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv1)));
		assertTrue(sizingPhase.isApplicable(new InstallableUnitOperand(null, iuXv1)));
		assertTrue(sizingPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv2)));
	}

	public void testUnconfigurePhase() {

		IInstallableUnit iuXv1 = createIU("iuX", Version.create("1.0.0"));
		IInstallableUnit iuXv2 = createIU("iuX", Version.create("2.0.0"));

		Unconfigure unconfigurePhase = new Unconfigure(1) {
			protected boolean isApplicable(InstallableUnitOperand op) {
				return super.isApplicable(op);
			}
		};
		assertTrue(unconfigurePhase.isApplicable(new InstallableUnitOperand(iuXv1, null)));
		assertTrue(unconfigurePhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv1)));
		assertFalse(unconfigurePhase.isApplicable(new InstallableUnitOperand(null, iuXv1)));
		assertTrue(unconfigurePhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv2)));
	}

	public void testUninstallPhase() {

		IInstallableUnit iuXv1 = createIU("iuX", Version.create("1.0.0"));
		IInstallableUnit iuXv2 = createIU("iuX", Version.create("2.0.0"));

		Uninstall uninstallPhase = new Uninstall(1) {
			protected boolean isApplicable(InstallableUnitOperand op) {
				return super.isApplicable(op);
			}
		};
		assertTrue(uninstallPhase.isApplicable(new InstallableUnitOperand(iuXv1, null)));
		assertFalse(uninstallPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv1)));
		assertFalse(uninstallPhase.isApplicable(new InstallableUnitOperand(null, iuXv1)));
		assertTrue(uninstallPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv2)));
	}

	public void testInstallPhase() {

		IInstallableUnit iuXv1 = createIU("iuX", Version.create("1.0.0"));
		IInstallableUnit iuXv2 = createIU("iuX", Version.create("2.0.0"));

		Install installPhase = new Install(1) {
			protected boolean isApplicable(InstallableUnitOperand op) {
				return super.isApplicable(op);
			}
		};
		assertFalse(installPhase.isApplicable(new InstallableUnitOperand(iuXv1, null)));
		assertFalse(installPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv1)));
		assertTrue(installPhase.isApplicable(new InstallableUnitOperand(null, iuXv1)));
		assertTrue(installPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv2)));
	}

	public void testConfigurePhase() {

		IInstallableUnit iuXv1 = createIU("iuX", Version.create("1.0.0"));
		IInstallableUnit iuXv2 = createIU("iuX", Version.create("2.0.0"));

		Configure configurePhase = new Configure(1) {
			protected boolean isApplicable(InstallableUnitOperand op) {
				return super.isApplicable(op);
			}
		};
		assertFalse(configurePhase.isApplicable(new InstallableUnitOperand(iuXv1, null)));
		assertTrue(configurePhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv1)));
		assertTrue(configurePhase.isApplicable(new InstallableUnitOperand(null, iuXv1)));
		assertTrue(configurePhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv2)));
	}
}

Back to the top