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 }