Package com.inspiresoftware.lib.dto.geda.benchmark.dto

Source Code of com.inspiresoftware.lib.dto.geda.benchmark.dto.GeDAMappingTest

/*
* This code is distributed under The GNU Lesser General Public License (LGPLv3)
* Please visit GNU site for LGPLv3 http://www.gnu.org/copyleft/lesser.html
*
* Copyright Denis Pavlov 2009
* Web: http://www.genericdtoassembler.org
* SVN: https://svn.code.sf.net/p/geda-genericdto/code/trunk/
* SVN (mirror): http://geda-genericdto.googlecode.com/svn/trunk/
*/

package com.inspiresoftware.lib.dto.geda.benchmark.dto;

import com.inspiresoftware.lib.dto.geda.adapter.BeanFactory;
import com.inspiresoftware.lib.dto.geda.assembler.Assembler;
import com.inspiresoftware.lib.dto.geda.assembler.DTOAssembler;
import com.inspiresoftware.lib.dto.geda.benchmark.data.DataProvider;
import com.inspiresoftware.lib.dto.geda.benchmark.domain.Person;
import com.inspiresoftware.lib.dto.geda.benchmark.support.geda.GeDABeanFactory;
import org.junit.Test;

import static org.junit.Assert.*;

/**
* .
* <p/>
* User: denispavlov
* Date: Sep 17, 2012
* Time: 8:50:03 AM
*/
public class GeDAMappingTest {

    @Test
    public void testBasicMapping() throws Exception {


        final BeanFactory bf = new GeDABeanFactory();

        final Person entity = DataProvider.providePersonEntity(false);

        final PersonDTO dto = new PersonDTO();

        final Assembler asm = DTOAssembler.newAssembler(PersonDTO.class, Person.class, this.getClass().getClassLoader());

        asm.assembleDto(dto, entity, null, bf);

        assertEquals(dto.getFirstName(), "Sherlock");
        assertEquals(dto.getLastName(), "Holmes");

        final AddressDTO addressDTO = dto.getCurrentAddress();
        assertNotNull(addressDTO);
        assertEquals(addressDTO.getAddressLine1(), "221B Baker Street");
        assertNull(addressDTO.getAddressLine2());
        assertEquals(addressDTO.getCity(), "London");
        assertEquals(addressDTO.getCountryName(), "United Kingdom");
        assertEquals(addressDTO.getPostCode(), "NW1 6XE");


    }

    @Test
    public void testCollectionsMapping() throws Exception {


        final BeanFactory bf = new GeDABeanFactory();

        final Person entity = DataProvider.providePersonEntity(true);

        final PersonWithHistoryDTO dto = new PersonWithHistoryDTO();

        final Assembler asm = DTOAssembler.newAssembler(PersonWithHistoryDTO.class, Person.class, this.getClass().getClassLoader());

        asm.assembleDto(dto, entity, null, bf);

        assertEquals(dto.getFirstName(), "Sherlock");
        assertEquals(dto.getLastName(), "Holmes");

        final AddressDTO addressDTO = dto.getCurrentAddress();
        assertNotNull(addressDTO);
        assertEquals(addressDTO.getAddressLine1(), "221B Baker Street");
        assertNull(addressDTO.getAddressLine2());
        assertEquals(addressDTO.getCity(), "London");
        assertEquals(addressDTO.getCountryName(), "United Kingdom");
        assertEquals(addressDTO.getPostCode(), "NW1 6XE");

        assertNotNull(dto.getPreviousAddresses());
        assertEquals(2, dto.getPreviousAddresses().size());

        final AddressDTO prev1 = dto.getPreviousAddresses().get(0);
        assertNotNull(prev1);
        assertEquals(prev1.getAddressLine1(), "221B Baker Street");
        assertNull(prev1.getAddressLine2());
        assertEquals(prev1.getCity(), "London");
        assertEquals(prev1.getCountryName(), "United Kingdom");
        assertEquals(prev1.getPostCode(), "NW1 6XE");

        final AddressDTO prev2 = dto.getPreviousAddresses().get(1);
        assertNotNull(prev2);
        assertEquals(prev2.getAddressLine1(), "Baskerville Hall");
        assertNull(prev2.getAddressLine2());
        assertEquals(prev2.getCity(), "Hay-on-Wye");
        assertEquals(prev2.getCountryName(), "United Kingdom");
        assertEquals(prev2.getPostCode(), "HR3 5LE");

    }

    @Test
    public void testMapsMapping() throws Exception {


        final BeanFactory bf = new GeDABeanFactory();

        final Person entity = DataProvider.providePersonEntity(true);

        final PersonWithHistoryByCityDTO dto = new PersonWithHistoryByCityDTO();

        final Assembler asm = DTOAssembler.newAssembler(PersonWithHistoryByCityDTO.class, Person.class, this.getClass().getClassLoader());

        asm.assembleDto(dto, entity, null, bf);

        assertEquals(dto.getFirstName(), "Sherlock");
        assertEquals(dto.getLastName(), "Holmes");

        final AddressDTO addressDTO = dto.getCurrentAddress();
        assertNotNull(addressDTO);
        assertEquals(addressDTO.getAddressLine1(), "221B Baker Street");
        assertNull(addressDTO.getAddressLine2());
        assertEquals(addressDTO.getCity(), "London");
        assertEquals(addressDTO.getCountryName(), "United Kingdom");
        assertEquals(addressDTO.getPostCode(), "NW1 6XE");

        assertNotNull(dto.getPreviousAddresses());
        assertEquals(2, dto.getPreviousAddresses().size());

        final AddressDTO prev1 = dto.getPreviousAddresses().get("London");
        assertNotNull(prev1);
        assertEquals(prev1.getAddressLine1(), "221B Baker Street");
        assertNull(prev1.getAddressLine2());
        assertEquals(prev1.getCity(), "London");
        assertEquals(prev1.getCountryName(), "United Kingdom");
        assertEquals(prev1.getPostCode(), "NW1 6XE");

        final AddressDTO prev2 = dto.getPreviousAddresses().get("Hay-on-Wye");
        assertNotNull(prev2);
        assertEquals(prev2.getAddressLine1(), "Baskerville Hall");
        assertNull(prev2.getAddressLine2());
        assertEquals(prev2.getCity(), "Hay-on-Wye");
        assertEquals(prev2.getCountryName(), "United Kingdom");
        assertEquals(prev2.getPostCode(), "HR3 5LE");

    }


}
TOP

Related Classes of com.inspiresoftware.lib.dto.geda.benchmark.dto.GeDAMappingTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.