View Javadoc
1   package org.codehaus.modello.maven;
2   
3   import java.util.Properties;
4   
5   import org.apache.maven.model.Model;
6   import org.apache.maven.project.MavenProject;
7   import org.codehaus.modello.ModelloParameterConstants;
8   import org.junit.Test;
9   
10  import static org.junit.Assert.assertEquals;
11  
12  public class AbstractModelloSourceGeneratorMojoTest {
13  
14      private class ModelloSourceGeneratorMojoTest extends AbstractModelloSourceGeneratorMojo {
15  
16          private final Properties projectProperties;
17  
18          ModelloSourceGeneratorMojoTest(Properties projectProperties) {
19              this.projectProperties = projectProperties;
20          }
21  
22          @Override
23          protected String getGeneratorType() {
24              return null;
25          }
26  
27          @Override
28          public MavenProject getProject() {
29              Model model = new Model();
30              model.setProperties(projectProperties);
31              MavenProject project = new MavenProject();
32              project.setModel(model);
33              return project;
34          }
35      }
36  
37      private void executeJavaSourceTest(Properties projectProperties, String expexted) {
38          ModelloSourceGeneratorMojoTest modelloSourceGeneratorMojoTest =
39                  new ModelloSourceGeneratorMojoTest(projectProperties);
40          Properties properties = new Properties();
41  
42          modelloSourceGeneratorMojoTest.customizeParameters(properties);
43  
44          assertEquals(properties.getProperty(ModelloParameterConstants.OUTPUT_JAVA_SOURCE), expexted);
45      }
46  
47      @Test
48      public void testJavaSourceDefault() {
49          executeJavaSourceTest(new Properties(), ModelloParameterConstants.OUTPUT_JAVA_SOURCE_DEFAULT);
50      }
51  
52      @Test
53      public void testJavaSourceFromRelease() {
54          Properties projectProperties = new Properties();
55          projectProperties.setProperty("maven.compiler.release", "11");
56          projectProperties.setProperty("maven.compiler.source", "xxx");
57          projectProperties.setProperty("maven.compiler.target", "xxx");
58  
59          executeJavaSourceTest(projectProperties, "11");
60      }
61  
62      @Test
63      public void testJavaSourceFromSource() {
64          Properties projectProperties = new Properties();
65          projectProperties.setProperty("maven.compiler.source", "11");
66          projectProperties.setProperty("maven.compiler.target", "xxx");
67  
68          executeJavaSourceTest(projectProperties, "11");
69      }
70  
71      @Test
72      public void testJavaSourceFromTarget() {
73          Properties projectProperties = new Properties();
74          projectProperties.setProperty("maven.compiler.target", "11");
75  
76          executeJavaSourceTest(projectProperties, "11");
77      }
78  }