diff --git a/processor/src/test/java/org/mapstruct/ap/test/sourceconstants/SourceConstantsTest.java b/processor/src/test/java/org/mapstruct/ap/test/sourceconstants/SourceConstantsTest.java index 42d2dc9ac..ded78d5e4 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/sourceconstants/SourceConstantsTest.java +++ b/processor/src/test/java/org/mapstruct/ap/test/sourceconstants/SourceConstantsTest.java @@ -64,6 +64,24 @@ public class SourceConstantsTest { assertThat( target.getNameConstants() ).isEqualTo( Arrays.asList( "jack", "jill", "tom" ) ); } + @Test + @IssueKey( "187" ) + @WithClasses( { + Source.class, + Target.class, + SourceTargetMapper.class, + StringListMapper.class + } ) + public void shouldMapTargetToSourceWithoutWhining() throws ParseException { + Target target = new Target(); + target.setPropertyThatShouldBeMapped( "SomeProperty" ); + + Source source = SourceTargetMapper.INSTANCE.targetToSource( target ); + + assertThat( source ).isNotNull(); + assertThat( target.getPropertyThatShouldBeMapped() ).isEqualTo( "SomeProperty" ); + } + @Test @IssueKey( "187" ) @WithClasses( { diff --git a/processor/src/test/java/org/mapstruct/ap/test/sourceconstants/SourceTargetMapper.java b/processor/src/test/java/org/mapstruct/ap/test/sourceconstants/SourceTargetMapper.java index 095baed10..72af6ac45 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/sourceconstants/SourceTargetMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/sourceconstants/SourceTargetMapper.java @@ -40,4 +40,5 @@ public interface SourceTargetMapper { @Mapping( target = "nameConstants", expression = "jack-jill-tom" ) } ) Target sourceToTarget(Source s); + Source targetToSource(Target t); }