Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions parent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.14.3</version>
<scope>test</scope>
</dependency>

Expand Down
5 changes: 2 additions & 3 deletions processor/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,10 @@
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,25 +24,18 @@
import javax.tools.StandardLocation;
import javax.tools.ToolProvider;

import org.assertj.core.api.JUnitSoftAssertions;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;

import static org.assertj.core.api.Assertions.assertThat;

public class ProcessorTest {
class ProcessorTest {

// CHECKSTYLE:OFF
@Rule
public final TemporaryFolder tempDir = new TemporaryFolder(); //NOSONAR

@Rule
public final JUnitSoftAssertions softly = new JUnitSoftAssertions();
// CHECKSTYLE:ON
@TempDir
private File tempDir;

@Test
public void example() throws IOException, ClassNotFoundException {
void example() throws IOException {
StringJavaFileObject src = new StringJavaFileObject(
"org.mapstruct.annotations.processor.GemGenerator",
getSource()
Expand All @@ -55,9 +48,9 @@ private void compile(Processor processor, JavaFileObject... compilationUnits) th

DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>();
StandardJavaFileManager fileManager = compiler.getStandardFileManager( diagnostics, null, null );
File classesDir = tempDir.newFolder( "classes" );
File classesDir = newFolder( tempDir, "classes" );
fileManager.setLocation( StandardLocation.CLASS_OUTPUT, Collections.singletonList( classesDir ) );
File generatedDir = tempDir.newFolder( "generated" );
File generatedDir = newFolder( tempDir, "generated" );
fileManager.setLocation( StandardLocation.SOURCE_OUTPUT, Collections.singletonList( generatedDir ) );

JavaCompiler.CompilationTask task = compiler.getTask(
Expand Down Expand Up @@ -88,15 +81,15 @@ private void compile(Processor processor, JavaFileObject... compilationUnits) th

protected void assertGeneratedFileContent(String gemName, File generatedDir) {
Path gemPath = generatedDir.toPath().resolve( "org/mapstruct/tools/gem/processor/" + gemName + ".java" );
softly.assertThat( gemPath )
assertThat( gemPath )
.as( gemName )
.exists();

try (InputStream generatedGemStream = new FileInputStream( gemPath.toFile() );
InputStream expectedGemStream = getClass().getClassLoader()
.getResourceAsStream( "fixtures/org/mapstruct/tools/gem/processor/" + gemName + ".java" )
) {
softly.assertThat( generatedGemStream )
assertThat( generatedGemStream )
.as( gemName )
.hasSameContentAs( expectedGemStream );
}
Expand Down Expand Up @@ -139,4 +132,12 @@ private String getSource() {
"public class GemGenerator {\n" +
"}";
}

private static File newFolder(File root, String folder) throws IOException {
File result = new File(root, folder);
if (!result.mkdir()) {
throw new IOException("Couldn't create folder " + result);
}
return result;
}
}