Skip to content

Commit 633c8e9

Browse files
committed
#16 Add test cases for public source properties
1 parent 8859e31 commit 633c8e9

File tree

4 files changed

+96
-0
lines changed

4 files changed

+96
-0
lines changed

src/test/java/org/mapstruct/intellij/MapstructCompletionTestCase.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,11 @@ public void testCarMapperSimpleSingleSourceCar() {
266266
assertCarAutoComplete();
267267
}
268268

269+
public void testCarMapperSimpleSingleSourceCarPublic() {
270+
configureByTestName();
271+
assertCarAutoComplete();
272+
}
273+
269274
public void testCarMapperUpdateSourceCar() {
270275
configureByTestName();
271276
assertCarAutoComplete();
@@ -395,6 +400,18 @@ public void testCarMapperReferencePublicTargetProperty() {
395400
} );
396401
}
397402

403+
public void testCarMapperReferencePublicSourceProperty() {
404+
myFixture.configureByFile( "CarMapperReferencePublicSourceProperty.java" );
405+
PsiElement reference = myFixture.getElementAtCaret();
406+
407+
assertThat( reference )
408+
.isInstanceOfSatisfying( PsiField.class, fields -> {
409+
assertThat( fields.getName() ).isEqualTo( "numberOfSeats" );
410+
assertThat( fields.getPresentation() ).isNotNull();
411+
assertThat( fields.getPresentation().getPresentableText() ).isEqualTo( "numberOfSeats" );
412+
} );
413+
}
414+
398415
public void testCarMapperReferenceTargetPropertyInCarDtoWithBuilder() {
399416
myFixture.configureByFile( "CarMapperReferenceBuilderTargetProperty.java" );
400417
PsiElement reference = myFixture.getElementAtCaret();
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* Copyright MapStruct Authors.
3+
*
4+
* Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
5+
*/
6+
package org.mapstruct.ap.test.complex;
7+
8+
import java.util.List;
9+
10+
import org.mapstruct.Mapper;
11+
import org.mapstruct.Mapping;
12+
import org.mapstruct.Mappings;
13+
import org.example.dto.CarDto;
14+
import org.example.dto.PersonDto;
15+
import org.example.dto.CarPublic;
16+
import org.example.dto.Person;
17+
18+
@Mapper
19+
public interface CarMapper {
20+
21+
@Mappings({
22+
@Mapping(source = "numberOfSeats<caret>", target = "seatCount"),
23+
@Mapping(source = "manufacturingDate", target = "manufacturingYear")
24+
})
25+
CarDtoPublic carToCarDto(CarPublic car);
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* Copyright MapStruct Authors.
3+
*
4+
* Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
5+
*/
6+
package org.mapstruct.ap.test.complex;
7+
8+
import java.util.List;
9+
10+
import org.mapstruct.Mapper;
11+
import org.mapstruct.Mapping;
12+
import org.mapstruct.Mappings;
13+
import org.example.dto.CarDto;
14+
import org.example.dto.PersonDto;
15+
import org.example.dto.CarPublic;
16+
import org.example.dto.Person;
17+
18+
@Mapper
19+
public interface CarMapper {
20+
21+
@Mappings({
22+
@Mapping(source = "<caret>numberOfSeats", target = "seatCount"),
23+
@Mapping(source = "manufacturingDate", target = "manufacturingYear")
24+
})
25+
CarDto carToCarDto(CarPublic car);
26+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/*
2+
* Copyright MapStruct Authors.
3+
*
4+
* Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
5+
*/
6+
package org.example.dto;
7+
8+
import java.util.Date;
9+
import java.util.List;
10+
11+
import org.example.dto.Person;
12+
13+
public class CarPublic {
14+
15+
public private String make;
16+
public private int numberOfSeats;
17+
public private Date manufacturingDate;
18+
public private Person driver;
19+
public private List<Person> passengers;
20+
public private int price;
21+
public private Category category;
22+
public private boolean free;
23+
24+
public static publicStaticField;
25+
private String privateField;
26+
27+
}

0 commit comments

Comments
 (0)