Package jodd.typeconverter

Source Code of jodd.typeconverter.BooleanArrayConverterTest

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

package jodd.typeconverter;

import jodd.typeconverter.impl.BooleanArrayConverter;
import org.junit.Test;

import static jodd.typeconverter.TypeConverterTestHelper.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;

public class BooleanArrayConverterTest {

  @Test
  public void testConversion() {
    BooleanArrayConverter booleanArrayConverter = (BooleanArrayConverter) TypeConverterManager.lookup(boolean[].class);

    assertNull(booleanArrayConverter.convert(null));

    boolean[] primitiveArray = new boolean[]{false, true, false};
    Object convertedArray = booleanArrayConverter.convert(primitiveArray);
    assertEquals(boolean[].class, convertedArray.getClass());

    Boolean[] booleanArray = new Boolean[]{Boolean.FALSE, Boolean.TRUE, Boolean.FALSE};
    convertedArray = booleanArrayConverter.convert(booleanArray);
    assertEquals(boolean[].class, convertedArray.getClass());    // boolean[]!

    assertEq(arrl(true), booleanArrayConverter.convert(Boolean.TRUE));
    assertEq(arrl(true), booleanArrayConverter.convert("true"));
    assertEq(arrl(true, false, true), booleanArrayConverter.convert(arrl(true, false, true)));
    assertEq(arrl(true, false, true), booleanArrayConverter.convert(arri(-7, 0, 3)));
    assertEq(arrl(true, false, true), booleanArrayConverter.convert(arrf(-7.0f, 0.0f, 3.0f)));
    assertEq(arrl(true, false, true), booleanArrayConverter.convert(arrs("true", "0", "yes")));
    assertEq(arrl(true, false, true), booleanArrayConverter.convert(arrs(" true ", "0", " yes ")));
    assertEq(arrl(true, false, true), booleanArrayConverter.convert(" true , 0,  yes "));
  }

  @Test
  public void testArrayConversion() {
    Object[] booleanArray = new Object[]{Boolean.FALSE, "TRUE", Integer.valueOf(0)};

    boolean[] arr1 = TypeConverterManager.convertType(booleanArray, boolean[].class);
    assertEquals(3, arr1.length);
    assertEq(arrl(false, true, false), arr1);

    Boolean[] arr2 = TypeConverterManager.convertType(booleanArray, Boolean[].class);
    assertEquals(3, arr2.length);
    assertEq(arrl(false, true, false), arr2);
  }


  private void assertEq(boolean[] arr1, boolean[] arr2) {
    assertEquals(arr1.length, arr2.length);
    for (int i = 0; i < arr1.length; i++) {
      assertEquals(arr1[i], arr2[i]);
    }
  }

  private void assertEq(boolean[] arr1, Boolean[] arr2) {
    assertEquals(arr1.length, arr2.length);
    for (int i = 0; i < arr1.length; i++) {
      assertEquals(arr1[i], arr2[i]);
    }
  }

}
TOP

Related Classes of jodd.typeconverter.BooleanArrayConverterTest

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.