1
package by.andd3dfx.mappers;
3
import static org.hamcrest.CoreMatchers.is;
4
import static org.hamcrest.CoreMatchers.nullValue;
5
import static org.hamcrest.MatcherAssert.assertThat;
7
import by.andd3dfx.dto.AuthorDto;
8
import by.andd3dfx.persistence.entities.Author;
9
import java.util.Arrays;
11
import org.junit.jupiter.api.Test;
12
import org.mapstruct.factory.Mappers;
14
class AuthorMapperTest {
16
private AuthorMapper mapper = Mappers.getMapper(AuthorMapper.class);
20
Author author = buildAuthor();
22
AuthorDto authorDto = mapper.toAuthorDto(author);
24
checkCompareAssertions(authorDto, author);
28
void toAuthorDtoForNull() {
29
assertThat(mapper.toAuthorDto(null), nullValue());
33
void toAuthorDtoList() {
34
Author author = buildAuthor();
35
List<Author> authors = Arrays.asList(author);
37
List<AuthorDto> authorDtoItems = mapper.toAuthorDtoList(authors);
39
assertThat("Wrong result list size", authorDtoItems.size(), is(1));
40
checkCompareAssertions(authorDtoItems.get(0), author);
44
void toArticleDtoListForNull() {
45
assertThat(mapper.toAuthorDtoList(null), nullValue());
50
AuthorDto authorDto = buildAuthorDto();
52
Author author = mapper.toAuthor(authorDto);
54
checkCompareAssertions(authorDto, author);
58
void toAuthorForNull() {
59
assertThat(mapper.toAuthor(null), nullValue());
62
private Author buildAuthor() {
63
Author author = new Author();
65
author.setFirstName("Isaac");
66
author.setLastName("Sirin");
70
private AuthorDto buildAuthorDto() {
71
AuthorDto result = new AuthorDto();
73
result.setFirstName("Isaac");
74
result.setLastName("Sirin");
78
private void checkCompareAssertions(AuthorDto authorDto, Author author) {
79
assertThat("Wrong id", authorDto.getId(), is(author.getId()));
80
assertThat("Wrong firstName", authorDto.getFirstName(), is(author.getFirstName()));
81
assertThat("Wrong lastName", authorDto.getLastName(), is(author.getLastName()));