View Javadoc
1   package org.codehaus.gmavenplus.mojo;
2   
3   import org.apache.maven.project.MavenProject;
4   import org.apache.maven.shared.model.fileset.FileSet;
5   import org.junit.Before;
6   import org.junit.Test;
7   import org.mockito.Mock;
8   import org.mockito.MockitoAnnotations;
9   
10  import static java.util.Collections.singletonList;
11  import static org.mockito.Mockito.*;
12  
13  
14  /**
15   * Unit tests for the AddTestSourcesMojo class.
16   *
17   * @author Keegan Witt
18   */
19  public class AddTestSourcesMojoTest {
20      private AddTestSourcesMojo addTestSourcesMojo;
21  
22      private static final String PATH = "PATH";
23  
24      @Mock
25      private MavenProject project;
26  
27      @Before
28      public void setup() {
29          MockitoAnnotations.openMocks(this);
30          addTestSourcesMojo = new AddTestSourcesMojo();
31          addTestSourcesMojo.project = project;
32      }
33  
34      @Test
35      public void testAddSourcePathContainsPath() {
36          doReturn(singletonList(PATH)).when(project).getTestCompileSourceRoots();
37          FileSet fs = new FileSet();
38          fs.setDirectory(PATH);
39          addTestSourcesMojo.testSources = new FileSet[]{fs};
40          addTestSourcesMojo.execute();
41          verify(project, never()).addTestCompileSourceRoot(anyString());
42      }
43  
44      @Test
45      public void testAddSourcePathNotContainsPath() {
46          doReturn(singletonList(PATH)).when(project).getTestCompileSourceRoots();
47          FileSet fs = new FileSet();
48          fs.setDirectory("OTHER PATH");
49          addTestSourcesMojo.testSources = new FileSet[]{fs};
50          addTestSourcesMojo.execute();
51          verify(project, times(1)).addTestCompileSourceRoot(anyString());
52      }
53  
54  }