use of org.mapstruct.ap.test.constructor.nestedsource.source.Song in project mapstruct by mapstruct.
the class NestedSourcePropertiesConstructorTest method shouldGenerateImplementationForMultipleParam.
@ProcessorTest
@WithClasses({ ArtistToChartEntry.class })
public void shouldGenerateImplementationForMultipleParam() {
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());
Chart chart = new Chart("record-sales", "Billboard", null);
ChartEntry chartEntry = ArtistToChartEntry.MAPPER.map(chart, song, 1);
assertThat(chartEntry).isNotNull();
assertThat(chartEntry.getArtistName()).isEqualTo("The Beatles");
assertThat(chartEntry.getChartName()).isEqualTo("Billboard");
assertThat(chartEntry.getCity()).isEqualTo("London");
assertThat(chartEntry.getPosition()).isEqualTo(1);
assertThat(chartEntry.getRecordedAt()).isEqualTo("Abbey Road");
assertThat(chartEntry.getSongTitle()).isEqualTo("A Hard Day's Night");
chartEntry = ArtistToChartEntry.MAPPER.map(null, song, 10);
assertThat(chartEntry).isNotNull();
assertThat(chartEntry.getArtistName()).isEqualTo("The Beatles");
assertThat(chartEntry.getChartName()).isNull();
assertThat(chartEntry.getCity()).isEqualTo("London");
assertThat(chartEntry.getPosition()).isEqualTo(10);
assertThat(chartEntry.getRecordedAt()).isEqualTo("Abbey Road");
assertThat(chartEntry.getSongTitle()).isEqualTo("A Hard Day's Night");
chartEntry = ArtistToChartEntry.MAPPER.map(chart, null, 5);
assertThat(chartEntry).isNotNull();
assertThat(chartEntry.getArtistName()).isNull();
assertThat(chartEntry.getChartName()).isEqualTo("Billboard");
assertThat(chartEntry.getCity()).isNull();
assertThat(chartEntry.getPosition()).isEqualTo(5);
assertThat(chartEntry.getRecordedAt()).isNull();
assertThat(chartEntry.getSongTitle()).isNull();
chartEntry = ArtistToChartEntry.MAPPER.map(chart, song, null);
assertThat(chartEntry).isNotNull();
assertThat(chartEntry.getArtistName()).isEqualTo("The Beatles");
assertThat(chartEntry.getChartName()).isEqualTo("Billboard");
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.source.Song in project mapstruct by mapstruct.
the class ReversingNestedSourcePropertiesConstructorTest method prepareSong.
private Song prepareSong() {
Studio studio = new Studio("Abbey Road", "London");
Label label = new Label("EMY", studio);
Artist artist = new Artist("The Beatles", label);
return new Song(artist, "A Hard Day's Night", Collections.emptyList());
}
use of org.mapstruct.ap.test.constructor.nestedsource.source.Song in project mapstruct by mapstruct.
the class ReversingNestedSourcePropertiesConstructorTest method shouldIgnoreEverytingBelowArtist.
@ProcessorTest
@WithClasses({ ArtistToChartEntryWithIgnoresReverse.class })
public void shouldIgnoreEverytingBelowArtist() {
Song song1 = prepareSong();
ChartEntry chartEntry = ArtistToChartEntryWithIgnoresReverse.MAPPER.mapForward(song1);
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");
// and now in reverse
Song song2 = ArtistToChartEntryWithIgnoresReverse.MAPPER.mapReverse(chartEntry);
assertThat(song2).isNotNull();
assertThat(song2.getArtist()).isNull();
}
use of org.mapstruct.ap.test.constructor.nestedsource.source.Song in project mapstruct by mapstruct.
the class ChartEntryToArtistImpl method chartEntryToSong.
protected Song chartEntryToSong(ChartEntry chartEntry) {
if (chartEntry == null) {
return null;
}
Artist artist = null;
String title = null;
List<Integer> positions = null;
artist = chartEntryToArtist(chartEntry);
title = chartEntry.getSongTitle();
positions = mapPosition(chartEntry.getPosition());
Song song = new Song(artist, title, positions);
return song;
}
use of org.mapstruct.ap.test.constructor.nestedsource.source.Song in project mapstruct by mapstruct.
the class ChartEntryToArtistImpl method chartSongArtistName.
private String chartSongArtistName(Chart chart) {
if (chart == null) {
return null;
}
Song song = chart.getSong();
if (song == null) {
return null;
}
Artist artist = song.getArtist();
if (artist == null) {
return null;
}
String name = artist.getName();
if (name == null) {
return null;
}
return name;
}
Aggregations