Package com.inspiresoftware.lib.dto.geda.assembler

Source Code of com.inspiresoftware.lib.dto.geda.assembler.DTOAssemblerConvertersTest

/*
* 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.assembler;

import com.inspiresoftware.lib.dto.geda.adapter.ValueConverter;
import com.inspiresoftware.lib.dto.geda.assembler.examples.converter.TestConverter3;
import com.inspiresoftware.lib.dto.geda.assembler.examples.converter.TestDto3Class;
import com.inspiresoftware.lib.dto.geda.assembler.examples.converter.TestDto3Class.Decision;
import com.inspiresoftware.lib.dto.geda.assembler.examples.converter.TestEntity3Class;
import com.inspiresoftware.lib.dto.geda.exception.GeDAException;
import com.inspiresoftware.lib.dto.geda.utils.ParameterizedSynthesizer;
import com.inspiresoftware.lib.dto.geda.utils.ParameterizedSynthesizer.Parameters;
import org.junit.Test;
import org.junit.runner.RunWith;

import java.util.*;

import static org.junit.Assert.assertEquals;


/**
* DTOAssembler test.
*
* @author Denis Pavlov
* @since 1.0.0
*
*/
@RunWith(value = ParameterizedSynthesizer.class)
public class DTOAssemblerConvertersTest {
 
  private String synthesizer;
 
  /**
   * @param synthesizer parameter
   */
  public DTOAssemblerConvertersTest(final String synthesizer) {
    super();
    this.synthesizer = synthesizer;
  }

  /**
   * @return synthesizers keys
   */
  @Parameters
  public static Collection<String[]> data() {
    final List<String[]> params = new ArrayList<String[]>();
    for (final String param : MethodSynthesizerProxy.getAvailableSynthesizers()) {
      params.add(new String[] { param });
    }
    return params;
  }
  /**
   * Test assembler that uses converter.
   *
   * @throws GeDAException exception
   */
  @Test
  public void testWithConversion() throws GeDAException {
    final TestDto3Class dto = new TestDto3Class();
    final TestEntity3Class entity = new TestEntity3Class();
    entity.setDecision(true);
    final ValueConverter conv3toDto = new TestConverter3();
    final Map<String, Object> converters = new HashMap<String, Object>();
    converters.put("boolToEnum", conv3toDto);
   
    final Assembler assembler =
      DTOAssembler.newCustomAssembler(TestDto3Class.class, TestEntity3Class.class, synthesizer);
   
    assembler.assembleDto(dto, entity, converters, null);
   
    assertEquals(Decision.Decided, dto.getMyEnum());
   
    dto.setMyEnum(Decision.Undecided);
   
    assembler.assembleEntity(dto, entity, converters, null);
     
  }
 
}
TOP

Related Classes of com.inspiresoftware.lib.dto.geda.assembler.DTOAssemblerConvertersTest

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.