@@ -40,10 +40,31 @@ void example() throws IOException {
4040 "org.mapstruct.annotations.processor.GemGenerator" ,
4141 getSource ()
4242 );
43- compile ( new GemProcessor (), src );
43+ File generatedDir = compile ( new GemProcessor (), src );
44+ assertGeneratedFileContent ( "BuilderGem" , generatedDir );
45+ assertGeneratedFileContent ( "SomeAnnotationGem" , generatedDir );
46+ assertGeneratedFileContent ( "SomeAnnotationsGem" , generatedDir );
47+ assertGeneratedFileContent ( "SomeArrayAnnotationGem" , generatedDir );
48+ }
49+
50+ @ Test
51+ void singleAnnotation () throws IOException {
52+ StringJavaFileObject src = new StringJavaFileObject (
53+ "org.mapstruct.annotations.processor.GemGenerator" ,
54+ "package org.mapstruct.tools.gem.processor;\n " +
55+ "\n " +
56+ "import org.mapstruct.tools.gem.GemDefinition;\n " +
57+ "import org.mapstruct.tools.gem.test.Builder;\n " +
58+ "\n " +
59+ "@GemDefinition(value = Builder.class)\n " +
60+ "public class GemGenerator {\n " +
61+ "}"
62+ );
63+ File generatedDir = compile ( new GemProcessor (), src );
64+ assertGeneratedFileContent ( "BuilderGem" , generatedDir );
4465 }
4566
46- private void compile (Processor processor , JavaFileObject ... compilationUnits ) throws IOException {
67+ private File compile (Processor processor , JavaFileObject ... compilationUnits ) throws IOException {
4768 JavaCompiler compiler = ToolProvider .getSystemJavaCompiler ();
4869
4970 DiagnosticCollector <JavaFileObject > diagnostics = new DiagnosticCollector <JavaFileObject >();
@@ -71,12 +92,7 @@ private void compile(Processor processor, JavaFileObject... compilationUnits) th
7192 System .err .println ( diagnostic );
7293 }
7394 assertThat ( success ).isTrue ();
74-
75-
76- assertGeneratedFileContent ( "BuilderGem" , generatedDir );
77- assertGeneratedFileContent ( "SomeAnnotationGem" , generatedDir );
78- assertGeneratedFileContent ( "SomeAnnotationsGem" , generatedDir );
79- assertGeneratedFileContent ( "SomeArrayAnnotationGem" , generatedDir );
95+ return generatedDir ;
8096 }
8197
8298 protected void assertGeneratedFileContent (String gemName , File generatedDir ) {
0 commit comments