use of org.mapstruct.ap.test.constructor.nestedsource._target.ChartEntry in project mapstruct by mapstruct.
the class NestedProductPropertiesTest method shouldMapNestedTarget.
@ProcessorTest
public void shouldMapNestedTarget() {
ChartEntry chartEntry = new ChartEntry();
chartEntry.setArtistName("Prince");
chartEntry.setChartName("US Billboard Hot Rock Songs");
chartEntry.setCity("Minneapolis");
chartEntry.setPosition(1);
chartEntry.setRecordedAt("Live, First Avenue, Minneapolis");
chartEntry.setSongTitle("Purple Rain");
Chart result = ChartEntryToArtist.MAPPER.map(chartEntry);
assertThat(result.getName()).isEqualTo("US Billboard Hot Rock Songs");
assertThat(result.getSong()).isNotNull();
assertThat(result.getSong().getArtist()).isNotNull();
assertThat(result.getSong().getTitle()).isEqualTo("Purple Rain");
assertThat(result.getSong().getArtist().getName()).isEqualTo("Prince");
assertThat(result.getSong().getArtist().getLabel()).isNotNull();
assertThat(result.getSong().getArtist().getLabel().getStudio()).isNotNull();
assertThat(result.getSong().getArtist().getLabel().getStudio().getName()).isEqualTo("Live, First Avenue, Minneapolis");
assertThat(result.getSong().getArtist().getLabel().getStudio().getCity()).isEqualTo("Minneapolis");
assertThat(result.getSong().getPositions()).hasSize(1);
assertThat(result.getSong().getPositions().get(0)).isEqualTo(1);
}
use of org.mapstruct.ap.test.constructor.nestedsource._target.ChartEntry in project mapstruct by mapstruct.
the class NestedTargetPropertiesTest method shouldMapNestedTargetWitUpdate.
@Test
public void shouldMapNestedTargetWitUpdate() {
ChartEntry chartEntry = new ChartEntry();
chartEntry.setArtistName("Prince");
chartEntry.setChartName("US Billboard Hot Rock Songs");
chartEntry.setCity("Minneapolis");
chartEntry.setPosition(1);
chartEntry.setRecordedAt("Live, First Avenue, Minneapolis");
chartEntry.setSongTitle(null);
Chart result = new Chart();
result.setSong(new Song());
result.getSong().setTitle("Raspberry Beret");
ChartEntryToArtistUpdate.MAPPER.map(chartEntry, result);
assertThat(result.getName()).isEqualTo("US Billboard Hot Rock Songs");
assertThat(result.getSong()).isNotNull();
assertThat(result.getSong().getArtist()).isNotNull();
assertThat(result.getSong().getTitle()).isEqualTo("Raspberry Beret");
assertThat(result.getSong().getArtist().getName()).isEqualTo("Prince");
assertThat(result.getSong().getArtist().getLabel()).isNotNull();
assertThat(result.getSong().getArtist().getLabel().getStudio()).isNotNull();
assertThat(result.getSong().getArtist().getLabel().getStudio().getName()).isEqualTo("Live, First Avenue, Minneapolis");
assertThat(result.getSong().getArtist().getLabel().getStudio().getCity()).isEqualTo("Minneapolis");
assertThat(result.getSong().getPositions()).hasSize(1);
assertThat(result.getSong().getPositions().get(0)).isEqualTo(1);
}
use of org.mapstruct.ap.test.constructor.nestedsource._target.ChartEntry in project mapstruct by mapstruct.
the class NestedTargetPropertiesTest method shouldMapNestedComposedTarget.
@Test
public void shouldMapNestedComposedTarget() {
ChartEntry chartEntry1 = new ChartEntry();
chartEntry1.setArtistName("Prince");
chartEntry1.setCity("Minneapolis");
chartEntry1.setRecordedAt("Live, First Avenue, Minneapolis");
chartEntry1.setSongTitle("Purple Rain");
ChartEntry chartEntry2 = new ChartEntry();
chartEntry2.setChartName("Italian Singles Chart");
chartEntry2.setPosition(32);
Chart result = ChartEntryToArtist.MAPPER.map(chartEntry1, chartEntry2);
assertThat(result.getName()).isEqualTo("Italian Singles Chart");
assertThat(result.getSong()).isNotNull();
assertThat(result.getSong().getArtist()).isNotNull();
assertThat(result.getSong().getTitle()).isEqualTo("Purple Rain");
assertThat(result.getSong().getArtist().getName()).isEqualTo("Prince");
assertThat(result.getSong().getArtist().getLabel()).isNotNull();
assertThat(result.getSong().getArtist().getLabel().getStudio()).isNotNull();
assertThat(result.getSong().getArtist().getLabel().getStudio().getName()).isEqualTo("Live, First Avenue, Minneapolis");
assertThat(result.getSong().getArtist().getLabel().getStudio().getCity()).isEqualTo("Minneapolis");
assertThat(result.getSong().getPositions()).hasSize(1);
assertThat(result.getSong().getPositions().get(0)).isEqualTo(32);
}
use of org.mapstruct.ap.test.constructor.nestedsource._target.ChartEntry in project mapstruct by mapstruct.
the class NestedSourcePropertiesConstructorTest method shouldGenerateImplementationForPropertyNamesOnly.
@ProcessorTest
@WithClasses({ ArtistToChartEntry.class })
public void shouldGenerateImplementationForPropertyNamesOnly() {
generatedSource.addComparisonToFixtureFor(ArtistToChartEntry.class);
Studio studio = new Studio("Abbey Road", "London");
Label label = new Label("EMY", studio);
Artist artist = new Artist("The Beatles", label);
Song song = new Song(artist, "A Hard Day's Night", Collections.emptyList());
ChartEntry chartEntry = ArtistToChartEntry.MAPPER.map(song);
assertThat(chartEntry).isNotNull();
assertThat(chartEntry.getArtistName()).isEqualTo("The Beatles");
assertThat(chartEntry.getChartName()).isNull();
assertThat(chartEntry.getCity()).isEqualTo("London");
assertThat(chartEntry.getPosition()).isEqualTo(0);
assertThat(chartEntry.getRecordedAt()).isEqualTo("Abbey Road");
assertThat(chartEntry.getSongTitle()).isEqualTo("A Hard Day's Night");
}
use of org.mapstruct.ap.test.constructor.nestedsource._target.ChartEntry in project mapstruct by mapstruct.
the class NestedSourcePropertiesConstructorTest method shouldPickPropertyNameOverParameterName.
@ProcessorTest
@WithClasses({ ArtistToChartEntry.class })
public void shouldPickPropertyNameOverParameterName() {
Chart chart = new Chart("record-sales", "Billboard", null);
ChartEntry chartEntry = ArtistToChartEntry.MAPPER.map(chart);
assertThat(chartEntry).isNotNull();
assertThat(chartEntry.getArtistName()).isNull();
assertThat(chartEntry.getChartName()).isEqualTo("Billboard");
assertThat(chartEntry.getCity()).isNull();
assertThat(chartEntry.getPosition()).isEqualTo(0);
assertThat(chartEntry.getRecordedAt()).isNull();
assertThat(chartEntry.getSongTitle()).isNull();
}
Aggregations