@@ -0,0 +1,1633 @@
+package fr.javatronic.damapping.processor;%0A%0Aimport javax.tools.JavaFileObject;%0A%0Aimport com.google.testing.compile.JavaFileObjects;%0Aimport org.testng.annotations.Test;%0A%0A/**%0A * ConstructorValidationTest -%0A *%0A * @author S%C3%A9bastien Lesaint%0A */%0Apublic class ConstructorValidationTest extends AbstractCompilationTest %7B%0A  @Test%0A  public void compilation_fails_if_constructor_is_private() throws Exception %7B%0A    JavaFileObject fileObject = constructorMapper(%22private%22);%0A%0A    assertThat(fileObject)%0A        .failsToCompile()%0A        .withErrorContaining(%22Class does not expose an accessible default constructor%22)%0A        .in(fileObject)%0A        .onLine(4);%0A  %7D%0A%0A  @Test%0A  public void compilation_succesds_if_constructor_is_public() throws Exception %7B%0A    assertThat(constructorMapper(%22public%22)).compilesWithoutError();%0A  %7D%0A%0A  @Test%0A  public void compilation_succesds_if_constructor_is_protected() throws Exception %7B%0A    assertThat(constructorMapper(%22protected%22)).compilesWithoutError();%0A  %7D%0A%0A  @Test%0A  public void compilation_succesds_if_constructor_is_default_protected() throws Exception %7B%0A    assertThat(constructorMapper(%22%22)).compilesWithoutError();%0A  %7D%0A%0A  private static JavaFileObject constructorMapper(String constructorModifier) %7B%0A    return JavaFileObjects.forSourceLines(%0A        %22ConstructorMapper%22,%0A        %22import fr.javatronic.damapping.annotation.Mapper;%22,%0A        %22%22,%0A        %22@Mapper%22,%0A        %22public class ConstructorMapper %7B%22,%0A        %22  %22 + constructorModifier + %22 ConstructorMapper() %7B%22,%0A        %22  %7D%22,%0A        %22  public Integer apply(String input) %7B%22,%0A        %22    return null;%22,%0A        %22  %7D%22,%0A        %22%7D%22%0A    );%0A  %7D%0A%7D%0A

add unit test that a constructor is available