Fix checkstyle issues reported by odlparent-3.0.0's checkstyle
[yangtools.git] / yang / yang-maven-plugin / src / test / java / org / opendaylight / yangtools / yang2sources / plugin / GenerateSourcesTest.java
index 1200e16cc5a2a1660d3348348189d3e9d2d37160..9aa31ded9faf3d63066f234219ef74ee5cbaea8c 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang2sources.plugin;
 
 import static org.hamcrest.CoreMatchers.containsString;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Matchers.any;
@@ -17,17 +16,18 @@ import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
-
 import java.io.File;
 import java.io.IOException;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
-
+import java.util.function.Function;
+import org.apache.maven.model.Build;
 import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
 import org.junit.Before;
 import org.junit.Test;
@@ -36,16 +36,21 @@ import org.mockito.MockitoAnnotations;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang2sources.plugin.ConfigArg.CodeGeneratorArg;
-import org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.YangProvider;
-import org.opendaylight.yangtools.yang2sources.spi.CodeGenerator;
+import org.opendaylight.yangtools.yang2sources.spi.BasicCodeGenerator;
+import org.opendaylight.yangtools.yang2sources.spi.MavenProjectAware;
 
 public class GenerateSourcesTest {
 
     private String yang;
     private YangToSourcesMojo mojo;
     private File outDir;
+
     @Mock
     private MavenProject project;
+
+    @Mock
+    private Build build;
+
     @Mock
     private Plugin plugin;
 
@@ -55,54 +60,38 @@ public class GenerateSourcesTest {
 
         yang = new File(getClass().getResource("/yang/mock.yang").toURI()).getParent();
         outDir = new File("/outputDir");
-        YangProvider mock = mock(YangProvider.class);
-        doNothing().when(mock).addYangsToMetaInf(any(Log.class), any(MavenProject.class), any(File.class),
-                any(File[].class));
+        final YangProvider mock = mock(YangProvider.class);
+        doNothing().when(mock).addYangsToMetaInf(any(MavenProject.class), any(Collection.class));
 
-        YangToSourcesProcessor processor = new YangToSourcesProcessor(mock(Log.class), new File(yang), new File[] {},
-                Lists.newArrayList(new CodeGeneratorArg(GeneratorMock.class.getName(), "outputDir")), project, false,
+        final YangToSourcesProcessor processor = new YangToSourcesProcessor(new File(this.yang), ImmutableList.of(),
+                ImmutableList.of(new CodeGeneratorArg(GeneratorMock.class.getName(), "outputDir")), this.project, false,
                 mock);
-        mojo = new YangToSourcesMojo(processor);
-        doReturn(new File("")).when(project).getBasedir();
-        doReturn(Collections.emptyList()).when(plugin).getDependencies();
-        doReturn(plugin).when(project).getPlugin(YangToSourcesMojo.PLUGIN_NAME);
-        mojo.setProject(project);
+        this.mojo = new YangToSourcesMojo(processor);
+        doReturn(new File("")).when(this.project).getBasedir();
+        doReturn("target/").when(this.build).getDirectory();
+        doReturn(this.build).when(this.project).getBuild();
+        doReturn(Collections.emptyList()).when(this.plugin).getDependencies();
+        doReturn(this.plugin).when(this.project).getPlugin(YangToSourcesMojo.PLUGIN_NAME);
+        this.mojo.setProject(this.project);
     }
 
     @Test
     public void test() throws Exception {
         mojo.execute();
-        assertEquals(1, GeneratorMock.called);
         assertEquals(outDir, GeneratorMock.outputDir);
         assertEquals(project, GeneratorMock.project);
-        assertNotNull(GeneratorMock.log);
         assertTrue(GeneratorMock.additionalCfg.isEmpty());
         assertThat(GeneratorMock.resourceBaseDir.toString(), containsString("target" + File.separator
                 + "generated-sources" + File.separator + "spi"));
     }
 
-    public static class GeneratorMock implements CodeGenerator {
-
+    public static class GeneratorMock implements BasicCodeGenerator, MavenProjectAware {
         private static int called = 0;
         private static File outputDir;
-        private static Log log;
         private static Map<String, String> additionalCfg;
         private static File resourceBaseDir;
         private static MavenProject project;
 
-        @Override
-        public Collection<File> generateSources(final SchemaContext context, final File outputBaseDir, final Set<Module> currentModules)
-                throws IOException {
-            called++;
-            outputDir = outputBaseDir;
-            return Lists.newArrayList();
-        }
-
-        @Override
-        public void setLog(final Log log) {
-            GeneratorMock.log = log;
-        }
-
         @Override
         public void setAdditionalConfig(final Map<String, String> additionalConfiguration) {
             GeneratorMock.additionalCfg = additionalConfiguration;
@@ -115,8 +104,16 @@ public class GenerateSourcesTest {
         }
 
         @Override
-        public void setMavenProject(final MavenProject project) {
-            GeneratorMock.project = project;
+        public void setMavenProject(final MavenProject mavenProject) {
+            GeneratorMock.project = mavenProject;
+        }
+
+        @Override
+        public Collection<File> generateSources(SchemaContext context, File outputBaseDir, Set<Module> currentModules,
+                Function<Module, Optional<String>> moduleResourcePathResolver) throws IOException {
+            called++;
+            outputDir = outputBaseDir;
+            return Lists.newArrayList();
         }
     }