?? convertutilstestcase.java
字號(hào):
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.commons.beanutils;
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Locale;
import org.apache.commons.beanutils.converters.DateConverter;
import junit.framework.TestCase;
import junit.framework.Test;
import junit.framework.TestSuite;
/**
* <p>
* Test Case for the ConvertUtils class.
* </p>
*
* @author Craig R. McClanahan
* @version $Revision: 551047 $ $Date: 2007-06-27 06:34:15 +0100 (Wed, 27 Jun 2007) $
*/
public class ConvertUtilsTestCase extends TestCase {
// ---------------------------------------------------- Instance Variables
// ---------------------------------------------------------- Constructors
/**
* Construct a new instance of this test case.
*
* @param name Name of the test case
*/
public ConvertUtilsTestCase(String name) {
super(name);
}
// -------------------------------------------------- Overall Test Methods
/**
* Set up instance variables required by this test case.
*/
public void setUp() {
ConvertUtils.deregister();
}
/**
* Return the tests included in this test suite.
*/
public static Test suite() {
return (new TestSuite(ConvertUtilsTestCase.class));
}
/**
* Tear down instance variables required by this test case.
*/
public void tearDown() {
// No action required
}
// ------------------------------------------------ Individual Test Methods
/**
* Negative String to primitive integer array tests.
*/
public void testNegativeIntegerArray() {
Object value = null;
int intArray[] = new int[0];
value = ConvertUtils.convert((String) null, intArray.getClass());
checkIntegerArray(value, intArray);
value = ConvertUtils.convert("a", intArray.getClass());
checkIntegerArray(value, intArray);
value = ConvertUtils.convert("{ a }", intArray.getClass());
checkIntegerArray(value, intArray);
value = ConvertUtils.convert("1a3", intArray.getClass());
checkIntegerArray(value, intArray);
value = ConvertUtils.convert("{ 1a3 }", intArray.getClass());
checkIntegerArray(value, intArray);
value = ConvertUtils.convert("0,1a3", intArray.getClass());
checkIntegerArray(value, intArray);
value = ConvertUtils.convert("{ 0, 1a3 }", intArray.getClass());
checkIntegerArray(value, intArray);
}
/**
* Negative scalar conversion tests. These rely on the standard
* default value conversions in ConvertUtils.
*/
public void testNegativeScalar() {
Object value = null;
value = ConvertUtils.convert("foo", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), false);
value = ConvertUtils.convert("foo", Boolean.class);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), false);
value = ConvertUtils.convert("foo", Byte.TYPE);
assertTrue(value instanceof Byte);
assertEquals(((Byte) value).byteValue(), (byte) 0);
value = ConvertUtils.convert("foo", Byte.class);
assertTrue(value instanceof Byte);
assertEquals(((Byte) value).byteValue(), (byte) 0);
try {
value = ConvertUtils.convert
("org.apache.commons.beanutils.Undefined", Class.class);
fail("Should have thrown conversion exception");
} catch (ConversionException e) {
// Expected result
}
value = ConvertUtils.convert("foo", Double.TYPE);
assertTrue(value instanceof Double);
assertEquals(((Double) value).doubleValue(), 0.0,
0.005);
value = ConvertUtils.convert("foo", Double.class);
assertTrue(value instanceof Double);
assertEquals(((Double) value).doubleValue(), 0.0, 0.005);
value = ConvertUtils.convert("foo", Float.TYPE);
assertTrue(value instanceof Float);
assertEquals(((Float) value).floatValue(), (float) 0.0,
(float) 0.005);
value = ConvertUtils.convert("foo", Float.class);
assertTrue(value instanceof Float);
assertEquals(((Float) value).floatValue(), (float) 0.0,
(float) 0.005);
value = ConvertUtils.convert("foo", Integer.TYPE);
assertTrue(value instanceof Integer);
assertEquals(((Integer) value).intValue(), 0);
value = ConvertUtils.convert("foo", Integer.class);
assertTrue(value instanceof Integer);
assertEquals(((Integer) value).intValue(), 0);
value = ConvertUtils.convert("foo", Byte.TYPE);
assertTrue(value instanceof Byte);
assertEquals(((Byte) value).byteValue(), (byte) 0);
value = ConvertUtils.convert("foo", Long.class);
assertTrue(value instanceof Long);
assertEquals(((Long) value).longValue(), 0);
value = ConvertUtils.convert("foo", Short.TYPE);
assertTrue(value instanceof Short);
assertEquals(((Short) value).shortValue(), (short) 0);
value = ConvertUtils.convert("foo", Short.class);
assertTrue(value instanceof Short);
assertEquals(((Short) value).shortValue(), (short) 0);
}
/**
* Negative String to String array tests.
*/
public void testNegativeStringArray() {
Object value = null;
String stringArray[] = new String[0];
value = ConvertUtils.convert((String) null, stringArray.getClass());
checkStringArray(value, stringArray);
}
/**
* Test conversion of object to string for arrays.
*/
public void testObjectToStringArray() {
int intArray0[] = new int[0];
int intArray1[] = { 123 };
int intArray2[] = { 123, 456 };
String stringArray0[] = new String[0];
String stringArray1[] = { "abc" };
String stringArray2[] = { "abc", "def" };
assertEquals("intArray0", null,
ConvertUtils.convert(intArray0));
assertEquals("intArray1", "123",
ConvertUtils.convert(intArray1));
assertEquals("intArray2", "123",
ConvertUtils.convert(intArray2));
assertEquals("stringArray0", null,
ConvertUtils.convert(stringArray0));
assertEquals("stringArray1", "abc",
ConvertUtils.convert(stringArray1));
assertEquals("stringArray2", "abc",
ConvertUtils.convert(stringArray2));
}
/**
* Test conversion of object to string for scalars.
*/
public void testObjectToStringScalar() {
assertEquals("Boolean->String", "false",
ConvertUtils.convert(Boolean.FALSE));
assertEquals("Boolean->String", "true",
ConvertUtils.convert(Boolean.TRUE));
assertEquals("Byte->String", "123",
ConvertUtils.convert(new Byte((byte) 123)));
assertEquals("Character->String", "a",
ConvertUtils.convert(new Character('a')));
assertEquals("Double->String", "123.0",
ConvertUtils.convert(new Double(123.0)));
assertEquals("Float->String", "123.0",
ConvertUtils.convert(new Float((float) 123.0)));
assertEquals("Integer->String", "123",
ConvertUtils.convert(new Integer(123)));
assertEquals("Long->String", "123",
ConvertUtils.convert(new Long(123)));
assertEquals("Short->String", "123",
ConvertUtils.convert(new Short((short) 123)));
assertEquals("String->String", "abc",
ConvertUtils.convert("abc"));
assertEquals("String->String null", null,
ConvertUtils.convert(null));
}
/**
* Positive array conversion tests.
*/
public void testPositiveArray() {
String values1[] = { "10", "20", "30" };
Object value = ConvertUtils.convert(values1, Integer.TYPE);
int shape[] = new int[0];
assertEquals(shape.getClass(), value.getClass());
int results1[] = (int[]) value;
assertEquals(results1[0], 10);
assertEquals(results1[1], 20);
assertEquals(results1[2], 30);
String values2[] = { "100", "200", "300" };
value = ConvertUtils.convert(values2, shape.getClass());
assertEquals(shape.getClass(), value.getClass());
int results2[] = (int[]) value;
assertEquals(results2[0], 100);
assertEquals(results2[1], 200);
assertEquals(results2[2], 300);
}
/**
* Positive String to primitive integer array tests.
*/
public void testPositiveIntegerArray() {
Object value = null;
int intArray[] = new int[0];
int intArray1[] = new int[] { 0 };
int intArray2[] = new int[] { 0, 10 };
value = ConvertUtils.convert("{ }", intArray.getClass());
checkIntegerArray(value, intArray);
value = ConvertUtils.convert("0", intArray.getClass());
checkIntegerArray(value, intArray1);
value = ConvertUtils.convert(" 0 ", intArray.getClass());
checkIntegerArray(value, intArray1);
value = ConvertUtils.convert("{ 0 }", intArray.getClass());
checkIntegerArray(value, intArray1);
value = ConvertUtils.convert("0,10", intArray.getClass());
checkIntegerArray(value, intArray2);
value = ConvertUtils.convert("0 10", intArray.getClass());
checkIntegerArray(value, intArray2);
value = ConvertUtils.convert("{0,10}", intArray.getClass());
checkIntegerArray(value, intArray2);
value = ConvertUtils.convert("{0 10}", intArray.getClass());
checkIntegerArray(value, intArray2);
value = ConvertUtils.convert("{ 0, 10 }", intArray.getClass());
checkIntegerArray(value, intArray2);
value = ConvertUtils.convert("{ 0 10 }", intArray.getClass());
checkIntegerArray(value, intArray2);
}
/**
* Positive scalar conversion tests.
*/
public void testPositiveScalar() {
Object value = null;
value = ConvertUtils.convert("true", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), true);
value = ConvertUtils.convert("true", Boolean.class);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), true);
value = ConvertUtils.convert("yes", Boolean.TYPE);
assertTrue(value instanceof Boolean);
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -