/** * Copyright 2008 biaoping.yin * * Licensed 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 com.frameworkset.util; import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import junit.framework.TestCase; /** * <p>TestValueObjectUtil.java</p> * <p> Description: </p> * <p> bboss workgroup </p> * <p> Copyright (c) 2009 </p> * * @Date 2009-9-20 * @author biaoping.yin * @version 1.0 */ public class TestValueObjectUtil extends TestCase { protected void setUp() throws Exception { super.setUp(); } protected void tearDown() throws Exception { super.tearDown(); } public void testTypeEqual() { Class test = Test.class; Class abstractTest = AbstractTest.class; Class interfaceTest = InterfaceTest.class; System.out.println("test.isAssignableFrom(abstractTest):" + test.isAssignableFrom(abstractTest)); System.out.println("abstractTest.isAssignableFrom(test):" + abstractTest.isAssignableFrom(test)); System.out.println("interfaceTest.isAssignableFrom(test):" + interfaceTest.isAssignableFrom(test)); } public void testTypeConvert() { InterfaceTest interfaceTest = new Test(); Test other = (Test) ValueObjectUtil.shell(Test.class, interfaceTest); Class test = Test.class; System.out.println(other); other = (Test) test.cast(interfaceTest); System.out.println(other); interfaceTest = new AbstractTest(); other = (Test) ValueObjectUtil.shell(Test.class, interfaceTest); System.out.println(other); other = (Test) test.cast(interfaceTest); System.out.println(other); } public void testTypeMatch() { Object value = new Test(); super.assertEquals(true, ValueObjectUtil.isSameType(Object.class, Test.class, value)); } public void testTypeMatchValuenull() { Object value =null; super.assertEquals(true, ValueObjectUtil.isSameType(Object.class, Test.class, value)); } public void testConstructget() { Object value =null; Class clazz = TestM.class; Class[] params = new Class[] {String.class,Test.class}; Class[] params_ = new Class[] {String.class,Object.class}; Object[] paramArgs = new Object[] {"name",new Test()}; java.lang.reflect.Constructor c = ValueObjectUtil.getConstructor(clazz, params, paramArgs); System.out.println(c); c = ValueObjectUtil.getConstructor(clazz, params_, paramArgs); System.out.println(c); paramArgs = new Object[] {"name",null}; c = ValueObjectUtil.getConstructor(clazz, params, paramArgs); System.out.println(c); c = ValueObjectUtil.getConstructor(clazz, params_, paramArgs); System.out.println(c); // super.assertEquals(true, ValueObjectUtil.isSameType(Object.class, Test.class, value)); } public static class TestM { public TestM(String name,Object test) { } public TestM(String name,Test test) { } } public static class OTest { } @org.junit.Test public void testLongtoDate() { System.out.println(ValueObjectUtil.typeCast(new java.util.Date().getTime(), java.util.Date.class)); System.out.println(ValueObjectUtil.typeCast(new java.util.Date().getTime(), java.sql.Date.class)); System.out.println(ValueObjectUtil.typeCast(new java.util.Date().getTime(), java.sql.Timestamp.class)); } @org.junit.Test public void testStringtoDate() { System.out.println(ValueObjectUtil.typeCast("2011-04-30 22:02:47", java.util.Date.class)); System.out.println(ValueObjectUtil.typeCast("2011-04-30 22:02:47", java.sql.Date.class)); System.out.println(ValueObjectUtil.typeCast("2011-04-30 22:02:47", java.sql.Timestamp.class)); } @org.junit.Test public void testStringtoDateBySepecialFormat() { System.out.println(ValueObjectUtil.typeCast("2011-04-30", java.util.Date.class,"yyyy-MM-dd")); System.out.println(ValueObjectUtil.typeCast("2011-04-30", java.sql.Date.class,"yyyy-MM-dd")); System.out.println(ValueObjectUtil.typeCast("2011-04-30", java.sql.Timestamp.class,"yyyy-MM-dd")); } @org.junit.Test public void testDatetoLongArray() { System.out.println(ValueObjectUtil.typeCast(new java.util.Date(), long[].class)); System.out.println(ValueObjectUtil.typeCast(new java.sql.Date(new java.util.Date().getTime()), long[].class)); System.out.println(ValueObjectUtil.typeCast(new java.sql.Timestamp(new java.util.Date().getTime()), long[].class)); } @org.junit.Test public void testDatestoLongArray() { System.out.println(ValueObjectUtil.typeCast(new java.util.Date[]{new java.util.Date()}, long[].class)); System.out.println(ValueObjectUtil.typeCast(new java.sql.Date[]{new java.sql.Date(new java.util.Date().getTime())}, long[].class)); System.out.println(ValueObjectUtil.typeCast(new java.sql.Timestamp[]{new java.sql.Timestamp(new java.util.Date().getTime())}, long[].class)); } @org.junit.Test public void testDatetoLong() { System.out.println(ValueObjectUtil.typeCast(new java.util.Date(), long.class)); System.out.println(ValueObjectUtil.typeCast(new java.sql.Date(new java.util.Date().getTime()), long.class)); System.out.println(ValueObjectUtil.typeCast(new java.sql.Timestamp(new java.util.Date().getTime()), long.class)); } @org.junit.Test public void testLongtoDateArray() { System.out.println(ValueObjectUtil.typeCast(new java.util.Date().getTime(), java.util.Date[].class)); System.out.println(ValueObjectUtil.typeCast(new java.util.Date().getTime(), java.sql.Date[].class)); System.out.println(ValueObjectUtil.typeCast(new java.util.Date().getTime(), java.sql.Timestamp[].class)); } @org.junit.Test public void testStringtoDateArray() { System.out.println(ValueObjectUtil.typeCast("2011-04-30 22:02:47", java.util.Date[].class)); System.out.println(ValueObjectUtil.typeCast("2011-04-30 22:02:47", java.sql.Date[].class)); System.out.println(ValueObjectUtil.typeCast("2011-04-30 22:02:47", java.sql.Timestamp[].class)); } @org.junit.Test public void testStringtoDateArrayBySepecialFormat() { System.out.println(ValueObjectUtil.typeCast("2011-04-30", java.util.Date[].class,"yyyy-MM-dd")); System.out.println(ValueObjectUtil.typeCast("2011-04-30", java.sql.Date[].class,"yyyy-MM-dd")); System.out.println(ValueObjectUtil.typeCast("2011-04-30", java.sql.Timestamp[].class,"yyyy-MM-dd")); } @org.junit.Test public void testLongstoDateArray() { System.out.println(ValueObjectUtil.typeCast(new long[]{new java.util.Date().getTime()}, java.util.Date[].class)); System.out.println(ValueObjectUtil.typeCast(new long[]{new java.util.Date().getTime()}, java.sql.Date[].class)); System.out.println(ValueObjectUtil.typeCast(new long[]{new java.util.Date().getTime()}, java.sql.Timestamp[].class)); } @org.junit.Test public void testStringstoDateArray() { System.out.println(ValueObjectUtil.typeCast(new String[]{"2011-04-30 22:02:47"}, java.util.Date[].class)); System.out.println(ValueObjectUtil.typeCast(new String[]{"2011-04-30 22:02:47"}, java.sql.Date[].class)); System.out.println(ValueObjectUtil.typeCast(new String[]{"2011-04-30 22:02:47"}, java.sql.Timestamp[].class)); } @org.junit.Test public void testStringstoDateArrayBySepecialFormat() { System.out.println(ValueObjectUtil.typeCast(new String[]{"2011-04-30"}, java.util.Date[].class,"yyyy-MM-dd")); System.out.println(ValueObjectUtil.typeCast(new String[]{"2011-04-30"}, java.sql.Date[].class,"yyyy-MM-dd")); System.out.println(ValueObjectUtil.typeCast(new String[]{"2011-04-30"}, java.sql.Timestamp[].class,"yyyy-MM-dd")); } @org.junit.Test public void testtimeconvert() { String time = "2011-05-02 17:45:15"; String formate = "yyyy-MM-dd hh:mm:ss"; Timestamp tt = null; SimpleDateFormat f = new SimpleDateFormat(formate); try { System.out.println(f.parse(time)); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @org.junit.Test public void testcast() { Object value = ValueObjectUtil.typeCast(new Boolean(true), Boolean.class, boolean.class); System.out.println(value); } @org.junit.Test public void testValueGet() { Date date = new Date(); ValueObjectUtil.getValue(date,"ddd"); } @org.junit.Test public void testDateCompare() { Date date = new Date(); Timestamp date1 = new Timestamp(date.getTime()); int i = ValueObjectUtil.dateCompare(date, date1); // Object value = ValueObjectUtil.typeCast(new Boolean(true), Boolean.class, boolean.class); System.out.println("result:"+i); i = date.compareTo(date1); System.out.println("result:"+i); String v = "sss"+null; System.out.println("result:"+v); // String.class.isInstance((String)null); // v = (String)null+(String)null; // int b = 0+"; } // public static void main(String[] args) // { // testTypeEqual(); // testTypeConvert(); // } }