mirror of
https://github.com/mapstruct/mapstruct.git
synced 2025-07-12 00:00:08 +08:00
Reproducal for #2421
This commit is contained in:
parent
627be53088
commit
488d95121f
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright MapStruct Authors.
|
||||
*
|
||||
* Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
package org.mapstruct.ap.test.bugs._2421;
|
||||
|
||||
public class Company {
|
||||
|
||||
private String name;
|
||||
|
||||
private CompanyType companyType;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public CompanyType getCompanyType() {
|
||||
return companyType;
|
||||
}
|
||||
|
||||
public void setCompanyType(CompanyType companyType) {
|
||||
this.companyType = companyType;
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright MapStruct Authors.
|
||||
*
|
||||
* Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
package org.mapstruct.ap.test.bugs._2421;
|
||||
|
||||
public class CompanyDto {
|
||||
private String name;
|
||||
private String companyType;
|
||||
private String companyTypeLatinTitle;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getCompanyType() {
|
||||
return companyType;
|
||||
}
|
||||
|
||||
public void setCompanyType(String companyType) {
|
||||
this.companyType = companyType;
|
||||
}
|
||||
|
||||
public String getCompanyTypeLatinTitle() {
|
||||
return companyTypeLatinTitle;
|
||||
}
|
||||
|
||||
public void setCompanyTypeLatinTitle(String companyTypeLatinTitle) {
|
||||
this.companyTypeLatinTitle = companyTypeLatinTitle;
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
/*
|
||||
* Copyright MapStruct Authors.
|
||||
*
|
||||
* Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
package org.mapstruct.ap.test.bugs._2421;
|
||||
|
||||
import org.mapstruct.InheritInverseConfiguration;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
@Mapper
|
||||
public interface CompanyMapper {
|
||||
CompanyMapper INSTANCE = Mappers.getMapper( CompanyMapper.class );
|
||||
|
||||
@Mapping(target = "companyTypeLatinTitle", source = "companyType.latinTitle")
|
||||
CompanyDto toDto(Company entity);
|
||||
|
||||
@InheritInverseConfiguration
|
||||
@Mapping( target = "companyType", source = "companyType")
|
||||
Company toEntity(CompanyDto dto);
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright MapStruct Authors.
|
||||
*
|
||||
* Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
package org.mapstruct.ap.test.bugs._2421;
|
||||
|
||||
public enum CompanyType {
|
||||
insurance("Insurance", "insurance"),
|
||||
inspection("Inspection", "inspectionem"),
|
||||
Shipping("Shipping", "naviportans");
|
||||
|
||||
private final String title;
|
||||
private final String latinTitle;
|
||||
|
||||
CompanyType(String title, String latinTitle) {
|
||||
this.title = title;
|
||||
this.latinTitle = latinTitle;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public String getLatinTitle() {
|
||||
return latinTitle;
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package org.mapstruct.ap.test.bugs._2421;
|
||||
|
||||
import org.mapstruct.ap.testutil.IssueKey;
|
||||
import org.mapstruct.ap.testutil.ProcessorTest;
|
||||
import org.mapstruct.ap.testutil.WithClasses;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* @author Filip Hrisafov
|
||||
*/
|
||||
@IssueKey("2421")
|
||||
@WithClasses({
|
||||
Company.class,
|
||||
CompanyDto.class,
|
||||
CompanyMapper.class,
|
||||
CompanyType.class
|
||||
})
|
||||
public class Issue2421Test {
|
||||
|
||||
@ProcessorTest
|
||||
public void shouldGenerateValidCode() {
|
||||
Company entity = new Company();
|
||||
entity.setName( "Test" );
|
||||
entity.setCompanyType( CompanyType.inspection );
|
||||
|
||||
CompanyDto dto = CompanyMapper.INSTANCE.toDto( entity );
|
||||
|
||||
assertThat( dto.getName() ).isEqualTo( "Test" );
|
||||
assertThat( dto.getCompanyType() ).isEqualTo( "inspection" );
|
||||
assertThat( dto.getCompanyTypeLatinTitle() ).isEqualTo( "inspectionem" );
|
||||
|
||||
entity = CompanyMapper.INSTANCE.toEntity( dto );
|
||||
|
||||
assertThat( entity.getName() ).isEqualTo( "Test" );
|
||||
assertThat( entity.getCompanyType() ).isEqualTo( CompanyType.inspection );
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user