#412 Adding test for inner class of inner class

This commit is contained in:
Gunnar Morling 2015-02-01 17:21:20 +01:00
parent 2ebfd04fe9
commit 31d2151b7b
3 changed files with 30 additions and 1 deletions

View File

@ -32,6 +32,7 @@ import org.mapstruct.ap.test.imports.innerclasses.SourceWithInnerClass;
import org.mapstruct.ap.test.imports.innerclasses.SourceWithInnerClass.SourceInnerClass;
import org.mapstruct.ap.test.imports.innerclasses.TargetWithInnerClass;
import org.mapstruct.ap.test.imports.innerclasses.TargetWithInnerClass.TargetInnerClass;
import org.mapstruct.ap.test.imports.innerclasses.TargetWithInnerClass.TargetInnerClass.TargetInnerInnerClass;
import org.mapstruct.ap.testutil.IssueKey;
import org.mapstruct.ap.testutil.WithClasses;
import org.mapstruct.ap.testutil.runner.AnnotationProcessorTestRunner;
@ -70,6 +71,20 @@ public class InnerClassesImportsTest {
generatedSource.forMapper( InnerClassMapper.class ).containsImportFor( TargetInnerClass.class );
}
@Test
@IssueKey( "412" )
public void mapperRequiresInnerInnerClassImports() {
SourceInnerClass source = new SourceInnerClass();
source.setValue( 412 );
TargetInnerInnerClass target = InnerClassMapper.INSTANCE.innerSourceToInnerInnerTarget( source );
assertThat( target ).isNotNull();
assertThat( target.getValue() ).isEqualTo( 412 );
generatedSource.forMapper( InnerClassMapper.class ).containsImportFor( SourceInnerClass.class );
generatedSource.forMapper( InnerClassMapper.class ).containsImportFor( TargetInnerInnerClass.class );
}
@Test
@IssueKey( "209" )
public void mapperRequiresInnerEnumImports() {

View File

@ -21,6 +21,7 @@ package org.mapstruct.ap.test.imports.innerclasses;
import org.mapstruct.Mapper;
import org.mapstruct.ap.test.imports.innerclasses.SourceWithInnerClass.SourceInnerClass;
import org.mapstruct.ap.test.imports.innerclasses.TargetWithInnerClass.TargetInnerClass;
import org.mapstruct.ap.test.imports.innerclasses.TargetWithInnerClass.TargetInnerClass.TargetInnerInnerClass;
import org.mapstruct.factory.Mappers;
@Mapper
@ -32,4 +33,6 @@ public interface InnerClassMapper {
TargetInnerClass innerSourceToInnerTarget(SourceInnerClass source);
TargetInnerInnerClass innerSourceToInnerInnerTarget(SourceInnerClass source);
}

View File

@ -40,6 +40,17 @@ public class TargetWithInnerClass {
public void setValue(int value) {
this.value = value;
}
}
public static class TargetInnerInnerClass {
private int value;
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
}
}