1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.model.profile.activation;
20
21 import java.util.Objects;
22 import java.util.Properties;
23
24 import org.apache.maven.model.Profile;
25 import org.apache.maven.model.building.SimpleProblemCollector;
26 import org.apache.maven.model.profile.DefaultProfileActivationContext;
27 import org.apache.maven.model.profile.ProfileActivationContext;
28 import org.junit.jupiter.api.BeforeEach;
29
30 import static org.junit.jupiter.api.Assertions.assertEquals;
31
32
33
34
35
36
37
38
39 public abstract class AbstractProfileActivatorTest<T extends ProfileActivator> {
40
41 private Class<T> activatorClass;
42
43 protected T activator;
44
45 public AbstractProfileActivatorTest(Class<T> activatorClass) {
46 this.activatorClass = Objects.requireNonNull(activatorClass, "activatorClass cannot be null");
47 }
48
49 @BeforeEach
50 protected void setUp() throws Exception {
51 activator = activatorClass.getConstructor().newInstance();
52 }
53
54 protected ProfileActivationContext newContext(final Properties userProperties, final Properties systemProperties) {
55 DefaultProfileActivationContext context = new DefaultProfileActivationContext();
56 return context.setUserProperties(userProperties).setSystemProperties(systemProperties);
57 }
58
59 protected void assertActivation(boolean active, Profile profile, ProfileActivationContext context) {
60 SimpleProblemCollector problems = new SimpleProblemCollector();
61
62 assertEquals(active, activator.isActive(profile, context, problems));
63
64 assertEquals(0, problems.getErrors().size(), problems.getErrors().toString());
65 assertEquals(0, problems.getWarnings().size(), problems.getWarnings().toString());
66 }
67 }