package com.baeldung.jmapper; import static com.googlecode.jmapper.api.JMapperAPI.attribute; import static com.googlecode.jmapper.api.JMapperAPI.global; import static com.googlecode.jmapper.api.JMapperAPI.mappedClass; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.time.LocalDate; import org.junit.Test; import com.googlecode.jmapper.JMapper; import com.googlecode.jmapper.api.JMapperAPI; public class JMapperIntegrationTest { @Test public void giventUser_whenUseAnnotation_thenConverted(){ JMapper userMapper = new JMapper<>(UserDto.class, User.class); User user = new User(1L,"john@test.com", LocalDate.of(1980,8,20)); UserDto result = userMapper.getDestination(user); System.out.println(result); assertEquals(user.getId(), result.getId()); assertEquals(user.getEmail(), result.getUsername()); } @Test public void giventUser_whenUseGlobalMapAnnotation_thenConverted(){ JMapper userMapper= new JMapper<>(UserDto1.class, User.class); User user = new User(1L,"john@test.com", LocalDate.of(1980,8,20)); UserDto1 result = userMapper.getDestination(user); System.out.println(result); assertEquals(user.getId(), result.getId()); assertEquals(user.getEmail(), result.getEmail()); } @Test public void giventUser_whenUseAnnotationExplicitConversion_thenConverted(){ JMapper userMapper = new JMapper<>(UserDto.class, User.class); User user = new User(1L,"john@test.com", LocalDate.of(1980,8,20)); UserDto result = userMapper.getDestination(user); System.out.println(result); assertEquals(user.getId(), result.getId()); assertEquals(user.getEmail(), result.getUsername()); assertTrue(result.getAge() > 0); } //======================= XML @Test public void giventUser_whenUseXml_thenConverted(){ JMapper userMapper = new JMapper<>(UserDto.class, User.class,"user_jmapper.xml"); User user = new User(1L,"john@test.com", LocalDate.of(1980,8,20)); UserDto result = userMapper.getDestination(user); System.out.println(result); assertEquals(user.getId(), result.getId()); assertEquals(user.getEmail(), result.getUsername()); } @Test public void giventUser_whenUseXmlGlobal_thenConverted(){ JMapper userMapper = new JMapper<>(UserDto1.class, User.class,"user_jmapper1.xml"); User user = new User(1L,"john@test.com", LocalDate.of(1980,8,20)); UserDto1 result = userMapper.getDestination(user); System.out.println(result); assertEquals(user.getId(), result.getId()); assertEquals(user.getEmail(), result.getEmail()); } // ===== API @Test public void giventUser_whenUseApi_thenConverted(){ JMapperAPI jmapperApi = new JMapperAPI() .add(mappedClass(UserDto.class) .add(attribute("id").value("id")) .add(attribute("username").value("email")) ) ; JMapper userMapper = new JMapper<>(UserDto.class, User.class, jmapperApi); User user = new User(1L,"john@test.com", LocalDate.of(1980,8,20)); UserDto result = userMapper.getDestination(user); System.out.println(result); assertEquals(user.getId(), result.getId()); assertEquals(user.getEmail(), result.getUsername()); } @Test public void giventUser_whenUseApiGlobal_thenConverted(){ JMapperAPI jmapperApi = new JMapperAPI() .add(mappedClass(UserDto.class) .add(global()) ) ; JMapper userMapper1 = new JMapper<>(UserDto1.class, User.class,jmapperApi); User user = new User(1L,"john@test.com", LocalDate.of(1980,8,20)); UserDto1 result = userMapper1.getDestination(user); System.out.println(result); assertEquals(user.getId(), result.getId()); assertEquals(user.getEmail(), result.getEmail()); } }