Package jodd.typeconverter

Source Code of jodd.typeconverter.ClassConverterTest

// Copyright (c) 2003-2014, Jodd Team (jodd.org). All Rights Reserved.

package jodd.typeconverter;

import jodd.mutable.MutableInteger;
import jodd.typeconverter.impl.ClassConverter;
import jodd.util.testdata.A;
import jodd.util.testdata.B;
import org.junit.Test;

import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;

public class ClassConverterTest {

  @Test
  public void testConversion() {
    ClassConverter classConverter = new ClassConverter();

    assertNull(classConverter.convert(null));

    assertEquals(String.class, classConverter.convert(String.class));
    assertEquals(Integer.class, classConverter.convert("java.lang.Integer"));

    try {
      classConverter.convert("foo.Klass");
      fail();
    } catch (TypeConversionException ignore) {
    }
  }

  @Test
  public void testCast() {

    String s = "123";
    Integer d = TypeConverterManager.convertType(s, Integer.class);
    assertEquals(123, d.intValue());

    s = TypeConverterManager.convertType(d, String.class);
    assertEquals("123", s);

    MutableInteger md = TypeConverterManager.convertType(s, MutableInteger.class);
    assertEquals(123, md.intValue());

    B b = new B();
    A a = TypeConverterManager.convertType(b, A.class);
    assertEquals(a, b);
  }

}
TOP

Related Classes of jodd.typeconverter.ClassConverterTest

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.