diff --git a/processor/src/test/java/org/mapstruct/ap/test/oneway/OnewayTest.java b/processor/src/test/java/org/mapstruct/ap/test/oneway/OnewayTest.java index 1c1490e71..505bb6c6d 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/oneway/OnewayTest.java +++ b/processor/src/test/java/org/mapstruct/ap/test/oneway/OnewayTest.java @@ -44,4 +44,15 @@ public class OnewayTest extends MapperTestBase { assertThat( target ).isNotNull(); assertThat( target.retrieveFoo() ).isEqualTo( Long.valueOf( 42 ) ); } + + @Test + @IssueKey("41") + public void shouldReverseMapAttributeWithoutSetterInTargetType() { + Target target = new Target(); + + Source source = SourceTargetMapper.INSTANCE.targetToSource( target ); + + assertThat( source ).isNotNull(); + assertThat( source.retrieveBar() ).isEqualTo( 23 ); + } } diff --git a/processor/src/test/java/org/mapstruct/ap/test/oneway/Source.java b/processor/src/test/java/org/mapstruct/ap/test/oneway/Source.java index 357da1ecf..503f70e14 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/oneway/Source.java +++ b/processor/src/test/java/org/mapstruct/ap/test/oneway/Source.java @@ -21,8 +21,17 @@ package org.mapstruct.ap.test.oneway; public class Source { private int foo = 42; + private int bar; public int getFoo() { return foo; } + + public void setBar(int bar) { + this.bar = bar; + } + + public int retrieveBar() { + return bar; + } } diff --git a/processor/src/test/java/org/mapstruct/ap/test/oneway/SourceTargetMapper.java b/processor/src/test/java/org/mapstruct/ap/test/oneway/SourceTargetMapper.java index 0a0120899..7f9f1ca52 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/oneway/SourceTargetMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/oneway/SourceTargetMapper.java @@ -27,4 +27,6 @@ public interface SourceTargetMapper { SourceTargetMapper INSTANCE = Mappers.getMapper( SourceTargetMapper.class ); Target sourceToTarget(Source source); + + Source targetToSource(Target target); } diff --git a/processor/src/test/java/org/mapstruct/ap/test/oneway/Target.java b/processor/src/test/java/org/mapstruct/ap/test/oneway/Target.java index f01c0d6c1..59c43bfcc 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/oneway/Target.java +++ b/processor/src/test/java/org/mapstruct/ap/test/oneway/Target.java @@ -21,6 +21,7 @@ package org.mapstruct.ap.test.oneway; public class Target { private Long foo; + private int bar = 23; public void setFoo(Long foo) { this.foo = foo; @@ -29,4 +30,8 @@ public class Target { public Long retrieveFoo() { return foo; } + + public int getBar() { + return bar; + } }