/* * Copyright 2001-2008 Geert Bevin (gbevin[remove] at uwyn dot com) * Licensed under the Apache License, Version 2.0 (the "License") * $Id: TestBeanUtils.java 3918 2008-04-14 17:35:35Z gbevin $ */ package com.uwyn.rife.tools; import com.uwyn.rife.config.RifeConfig; import com.uwyn.rife.tools.BeanImpl; import com.uwyn.rife.tools.BeanUtils; import com.uwyn.rife.tools.exceptions.BeanUtilsException; import com.uwyn.rife.tools.exceptions.SerializationUtilsErrorException; import java.beans.PropertyDescriptor; import java.math.BigDecimal; import java.sql.Time; import java.sql.Timestamp; import java.text.ParseException; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.Map; import java.util.Set; import junit.framework.TestCase; public class TestBeanUtils extends TestCase { public TestBeanUtils(String name) { super(name); } private BeanImpl getPopulatedBean() { BeanImpl bean = new BeanImpl(); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); bean.setPropertyString("thisisastring"); bean.setPropertyStringbuffer(new StringBuffer("butthisisastringbuffer")); bean.setPropertyDate(cal.getTime()); bean.setPropertyCalendar(cal); bean.setPropertySqlDate(new java.sql.Date(cal.getTime().getTime())); bean.setPropertyTime(new Time(cal.getTime().getTime())); bean.setPropertyTimestamp(new Timestamp(cal.getTime().getTime())); bean.setPropertyChar('g'); bean.setPropertyBoolean(false); bean.setPropertyByte((byte)53); bean.setPropertyDouble(84578.42d); bean.setPropertyFloat(35523.967f); bean.setPropertyInt(978); bean.setPropertyLong(87346L); bean.setPropertyShort((short)31); bean.setPropertyBigDecimal(new BigDecimal("8347365990.387437894678")); return bean; } public void testSetUppercaseBeanPropertyIllegalArguments() throws BeanUtilsException { Map<String, PropertyDescriptor> bean_properties = BeanUtils.getUppercasedBeanProperties(BeanImpl2.class); try { BeanUtils.setUppercasedBeanProperty(null, null, null, bean_properties, new BeanImpl2(), null); fail("IllegalArgumentException expected."); } catch (IllegalArgumentException e) { } try { BeanUtils.setUppercasedBeanProperty("propertyString", null, null, null, new BeanImpl2(), null); fail("IllegalArgumentException expected."); } catch (IllegalArgumentException e) { } try { BeanUtils.setUppercasedBeanProperty("propertyString", null, null, bean_properties, null, null); fail("IllegalArgumentException expected."); } catch (IllegalArgumentException e) { } try { BeanUtils.setUppercasedBeanProperty("propertyString", null, null, bean_properties, new BeanImpl2(), null); } catch (IllegalArgumentException e) { fail("IllegalArgumentException not expected."); } } public void testSetUppercaseBeanPropertyNoOpArguments() throws BeanUtilsException { BeanImpl2 bean; Map<String, PropertyDescriptor> bean_properties = BeanUtils.getUppercasedBeanProperties(BeanImpl2.class); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyString", null, null, bean_properties, bean, null); assertNull(bean.getPropertyString()); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyString", new String[0], null, bean_properties, bean, null); assertNull(bean.getPropertyString()); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyString", new String[] {"one", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyString(), "one"); } public void testSetUppercaseBeanPropertyNoSetter() throws BeanUtilsException { BeanImpl2 bean; Map<String, PropertyDescriptor> bean_properties = BeanUtils.getUppercasedBeanProperties(BeanImpl2.class); bean = new BeanImpl2(); assertEquals(bean.getPropertyReadonly(), 23L); BeanUtils.setUppercasedBeanProperty("propertyReadonly", new String[] {"42131"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyReadonly(), 23L); } public void testSetUppercaseBeanProperty() throws BeanUtilsException, ParseException, SerializationUtilsErrorException { BeanImpl2 bean; Map<String, PropertyDescriptor> bean_properties = BeanUtils.getUppercasedBeanProperties(BeanImpl2.class); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyString", new String[] {"one", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyString(), "one"); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyInt", new String[] {"438", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyInt(), 438); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyChar", new String[] {"E", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyChar(), 'E'); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyBoolean", new String[] {"true", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.isPropertyBoolean(), true); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyByte", new String[] {"27", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyByte(), 27); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyDouble", new String[] {"80756.6287", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyDouble(), 80756.6287d); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyFloat", new String[] {"435.557", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyFloat(), 435.557f); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyLong", new String[] {"122875", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyLong(), 122875); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyShort", new String[] {"3285", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyShort(), 3285); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyBigDecimal", new String[] {"983743.343", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyBigDecimal(), new BigDecimal("983743.343")); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyIntegerObject", new String[] {"438", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyIntegerObject(), new Integer(438)); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyCharacterObject", new String[] {"E", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyCharacterObject(), new Character('E')); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyBooleanObject", new String[] {"true", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyBooleanObject(), new Boolean(true)); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyByteObject", new String[] {"27", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyByteObject(), new Byte((byte)27)); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyDoubleObject", new String[] {"80756.6287", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyDoubleObject(), new Double(80756.6287d)); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyFloatObject", new String[] {"435.557", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyFloatObject(), new Float(435.557f)); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyLongObject", new String[] {"122875", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyLongObject(), new Long(122875)); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyShortObject", new String[] {"3285", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyShortObject(), new Short((short)3285)); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyStringbuffer", new String[] {"one1", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyStringbuffer().toString(), "one1"); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyStringbuilder", new String[] {"one2", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyStringbuilder().toString(), "one2"); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyDate", new String[] {"2006-08-04 10:45", "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertyDate(), RifeConfig.Tools.getDefaultInputDateFormat().parse("2006-08-04 10:45")); bean = new BeanImpl2(); BeanImpl2.SerializableType serializable = new BeanImpl2.SerializableType(5686, "Testing"); BeanUtils.setUppercasedBeanProperty("propertySerializableType", new String[] {SerializationUtils.serializeToString(serializable), "two"}, null, bean_properties, bean, new BeanImpl2()); assertEquals(bean.getPropertySerializableType(), serializable); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyStringArray", new String[] {"one", "two"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyStringArray(), new String[] {"one", "two"})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyIntArray", new String[] {"438", "98455", "711"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyIntArray(), new int[] {438, 98455, 711})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyCharArray", new String[] {"E", "a", "x"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyCharArray(), new char[] {'E', 'a', 'x'})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyBooleanArray", new String[] {"true", "0", "t", "1"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyBooleanArray(), new boolean[] {true, false, true, true})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyByteArray", new String[] {"27", "78"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyByteArray(), new byte[] {27, 78})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyDoubleArray", new String[] {"80756.6287", "3214.75", "85796.6237"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyDoubleArray(), new double[] {80756.6287d, 3214.75d, 85796.6237d})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyFloatArray", new String[] {"435.557", "589.5"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyFloatArray(), new float[] {435.557f, 589.5f})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyLongArray", new String[] {"122875", "8526780", "3826589"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyLongArray(), new long[] {122875, 8526780, 3826589})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyShortArray", new String[] {"3285", "58"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyShortArray(), new short[] {3285, 58})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyIntegerObjectArray", new String[] {"438", "7865", "475"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyIntegerObjectArray(), new Integer[] {438, 7865, 475})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyCharacterObjectArray", new String[] {"E", "z"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyCharacterObjectArray(), new Character[] {'E', 'z'})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyBooleanObjectArray", new String[] {"fslse", "1", "true"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyBooleanObjectArray(), new Boolean[] {false, true, true})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyByteObjectArray", new String[] {"27", "78"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyByteObjectArray(), new Byte[] {(byte)27, (byte)78})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyDoubleObjectArray", new String[] {"80756.6287", "5876.14", "3268.57"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyDoubleObjectArray(), new Double[] {80756.6287d, 5876.14d, 3268.57d})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyFloatObjectArray", new String[] {"435.557", "7865.66"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyFloatObjectArray(), new Float[] {435.557f, 7865.66f})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyLongObjectArray", new String[] {"122875", "5687621", "66578"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyLongObjectArray(), new Long[] {122875L, 5687621L, 66578L})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyShortObjectArray", new String[] {"3285", "6588"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyShortObjectArray(), new Short[] {(short)3285, (short)6588})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyBigDecimalArray", new String[] {"32859837434343983.83749837498373434", "65884343.343"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyBigDecimalArray(), new BigDecimal[] {new BigDecimal("32859837434343983.83749837498373434"), new BigDecimal("65884343343E-3")})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyStringbufferArray", new String[] {"one1", "two2"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(ArrayUtils.createStringArray(bean.getPropertyStringbufferArray()), new String[] {"one1", "two2"})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyStringbuilderArray", new String[] {"three3", "four4"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(ArrayUtils.createStringArray(bean.getPropertyStringbuilderArray()), new String[] {"three3", "four4"})); bean = new BeanImpl2(); BeanUtils.setUppercasedBeanProperty("propertyDateArray", new String[] {"2006-08-04 10:45", "2006-07-08 11:05"}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertyDateArray(), new Date[] {RifeConfig.Tools.getDefaultInputDateFormat().parse("2006-08-04 10:45"), RifeConfig.Tools.getDefaultInputDateFormat().parse("2006-07-08 11:05")})); bean = new BeanImpl2(); BeanImpl2.SerializableType serializable1 = new BeanImpl2.SerializableType(5682, "AnotherTest"); BeanImpl2.SerializableType serializable2 = new BeanImpl2.SerializableType(850, "WhatTest"); BeanUtils.setUppercasedBeanProperty("propertySerializableTypeArray", new String[] {SerializationUtils.serializeToString(serializable1), SerializationUtils.serializeToString(serializable2)}, null, bean_properties, bean, new BeanImpl2()); assertTrue(Arrays.equals(bean.getPropertySerializableTypeArray(), new BeanImpl2.SerializableType[] {serializable1, serializable2})); } public void testSetUppercaseBeanPropertyConstrained() throws BeanUtilsException, ParseException, SerializationUtilsErrorException { BeanImpl3 bean; Map<String, PropertyDescriptor> bean_properties = BeanUtils.getUppercasedBeanProperties(BeanImpl3.class); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyDate", new String[] {"custom format 2006-08-04 10:45", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyDate(), RifeConfig.Tools.getDefaultInputDateFormat().parse("2006-08-04 10:45")); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyInt", new String[] {"$438", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyInt(), 438); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyByte", new String[] {"2,700%", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyByte(), 27); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyDouble", new String[] {"80,756.6287", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyDouble(), 80756.6287d); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyFloat", new String[] {"435,557", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyFloat(), 435.557f); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyLong", new String[] {"122875 €", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyLong(), 122875); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyShort", new String[] {"¤3285", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyShort(), 3285); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyBigDecimal", new String[] {"4353344987349830948394893,55709384093", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyBigDecimal(), new BigDecimal("435334498734983094839489355709384093E-11")); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyIntegerObject", new String[] {"$438", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyIntegerObject(), new Integer(438)); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyByteObject", new String[] {"2,700%", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyByteObject(), new Byte((byte)27)); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyDoubleObject", new String[] {"80,756.6287", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyDoubleObject(), new Double(80756.6287d)); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyFloatObject", new String[] {"435,557", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyFloatObject(), new Float(435.557f)); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyLongObject", new String[] {"122875 €", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyLongObject(), new Long(122875)); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyShortObject", new String[] {"¤3285", "two"}, null, bean_properties, bean, new BeanImpl3()); assertEquals(bean.getPropertyShortObject(), new Short((short)3285)); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyDateArray", new String[] {"custom format 2006-08-04 10:45", "custom format 2006-07-08 11:05"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyDateArray(), new Date[] {RifeConfig.Tools.getDefaultInputDateFormat().parse("2006-08-04 10:45"), RifeConfig.Tools.getDefaultInputDateFormat().parse("2006-07-08 11:05")})); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyIntArray", new String[] {"$438", "$98455", "$711"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyIntArray(), new int[] {438, 98455, 711})); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyByteArray", new String[] {"2,700%", "7,800%"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyByteArray(), new byte[] {27, 78})); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyDoubleArray", new String[] {"80,756.6287", "3,214.75", "85,796.6237"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyDoubleArray(), new double[] {80756.6287d, 3214.75d, 85796.6237d})); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyFloatArray", new String[] {"435,557", "589,5"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyFloatArray(), new float[] {435.557f, 589.5f})); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyLongArray", new String[] {"122875 €", "8526780 €", "3826589 €"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyLongArray(), new long[] {122875, 8526780, 3826589})); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyShortArray", new String[] {"¤3285", "¤58"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyShortArray(), new short[] {3285, 58})); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyIntegerObjectArray", new String[] {"$438", "$7865", "$475"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyIntegerObjectArray(), new Integer[] {438, 7865, 475})); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyByteObjectArray", new String[] {"2,700%", "7,800%"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyByteObjectArray(), new Byte[] {(byte)27, (byte)78})); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyDoubleObjectArray", new String[] {"80,756.6287", "5,876.14", "3,268.57"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyDoubleObjectArray(), new Double[] {80756.6287d, 5876.14d, 3268.57d})); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyFloatObjectArray", new String[] {"435,557", "7865,66"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyFloatObjectArray(), new Float[] {435.557f, 7865.66f})); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyLongObjectArray", new String[] {"122875 €", "5687621 €", "66578 €"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyLongObjectArray(), new Long[] {122875L, 5687621L, 66578L})); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyShortObjectArray", new String[] {"¤3285", "¤6588"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyShortObjectArray(), new Short[] {(short)3285, (short)6588})); bean = new BeanImpl3(); BeanUtils.setUppercasedBeanProperty("propertyBigDecimalArray", new String[] {"97687687998978673545669789,0000000000001", "34353"}, null, bean_properties, bean, new BeanImpl3()); assertTrue(Arrays.equals(bean.getPropertyBigDecimalArray(), new BigDecimal[] {new BigDecimal("976876879989786735456697890000000000001E-13"), new BigDecimal("3.4353E4")})); } public void testPropertyNamesIllegal() { try { assertEquals(0, BeanUtils.getPropertyNames(null, null, null, null).size()); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesEmpty() { try { assertEquals(0, BeanUtils.getPropertyNames(Object.class, null, null, null).size()); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNames() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanImpl.class, null, null, null); assertEquals(property_names.size(), 16); assertTrue(property_names.contains("propertyString")); assertTrue(property_names.contains("propertyStringbuffer")); assertTrue(property_names.contains("propertyDate")); assertTrue(property_names.contains("propertyCalendar")); assertTrue(property_names.contains("propertySqlDate")); assertTrue(property_names.contains("propertyTime")); assertTrue(property_names.contains("propertyTimestamp")); assertTrue(property_names.contains("propertyChar")); assertTrue(property_names.contains("propertyBoolean")); assertTrue(property_names.contains("propertyByte")); assertTrue(property_names.contains("propertyDouble")); assertTrue(property_names.contains("propertyFloat")); assertTrue(property_names.contains("propertyInt")); assertTrue(property_names.contains("propertyLong")); assertTrue(property_names.contains("propertyShort")); assertTrue(property_names.contains("propertyBigDecimal")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesGetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.GETTERS, BeanImpl.class, null, null, null); assertEquals(property_names.size(), 17); assertTrue(property_names.contains("propertyReadonly")); assertTrue(property_names.contains("propertyString")); assertTrue(property_names.contains("propertyStringbuffer")); assertTrue(property_names.contains("propertyDate")); assertTrue(property_names.contains("propertyCalendar")); assertTrue(property_names.contains("propertySqlDate")); assertTrue(property_names.contains("propertyTime")); assertTrue(property_names.contains("propertyTimestamp")); assertTrue(property_names.contains("propertyChar")); assertTrue(property_names.contains("propertyBoolean")); assertTrue(property_names.contains("propertyByte")); assertTrue(property_names.contains("propertyDouble")); assertTrue(property_names.contains("propertyFloat")); assertTrue(property_names.contains("propertyInt")); assertTrue(property_names.contains("propertyLong")); assertTrue(property_names.contains("propertyShort")); assertTrue(property_names.contains("propertyBigDecimal")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesSetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.SETTERS, BeanImpl.class, null, null, null); assertEquals(property_names.size(), 17); assertTrue(property_names.contains("propertyWriteonly")); assertTrue(property_names.contains("propertyString")); assertTrue(property_names.contains("propertyStringbuffer")); assertTrue(property_names.contains("propertyDate")); assertTrue(property_names.contains("propertyCalendar")); assertTrue(property_names.contains("propertySqlDate")); assertTrue(property_names.contains("propertyTime")); assertTrue(property_names.contains("propertyTimestamp")); assertTrue(property_names.contains("propertyChar")); assertTrue(property_names.contains("propertyBoolean")); assertTrue(property_names.contains("propertyByte")); assertTrue(property_names.contains("propertyDouble")); assertTrue(property_names.contains("propertyFloat")); assertTrue(property_names.contains("propertyInt")); assertTrue(property_names.contains("propertyLong")); assertTrue(property_names.contains("propertyShort")); assertTrue(property_names.contains("propertyBigDecimal")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesPrefix() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanImpl.class, null, null, "PREFIX:"); assertEquals(property_names.size(), 16); assertTrue(property_names.contains("PREFIX:propertyString")); assertTrue(property_names.contains("PREFIX:propertyStringbuffer")); assertTrue(property_names.contains("PREFIX:propertyDate")); assertTrue(property_names.contains("PREFIX:propertyCalendar")); assertTrue(property_names.contains("PREFIX:propertySqlDate")); assertTrue(property_names.contains("PREFIX:propertyTime")); assertTrue(property_names.contains("PREFIX:propertyTimestamp")); assertTrue(property_names.contains("PREFIX:propertyChar")); assertTrue(property_names.contains("PREFIX:propertyBoolean")); assertTrue(property_names.contains("PREFIX:propertyByte")); assertTrue(property_names.contains("PREFIX:propertyDouble")); assertTrue(property_names.contains("PREFIX:propertyFloat")); assertTrue(property_names.contains("PREFIX:propertyInt")); assertTrue(property_names.contains("PREFIX:propertyLong")); assertTrue(property_names.contains("PREFIX:propertyShort")); assertTrue(property_names.contains("PREFIX:propertyBigDecimal")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesPrefixGetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.GETTERS, BeanImpl.class, null, null, "PREFIX:"); assertEquals(property_names.size(), 17); assertTrue(property_names.contains("PREFIX:propertyReadonly")); assertTrue(property_names.contains("PREFIX:propertyString")); assertTrue(property_names.contains("PREFIX:propertyStringbuffer")); assertTrue(property_names.contains("PREFIX:propertyDate")); assertTrue(property_names.contains("PREFIX:propertyCalendar")); assertTrue(property_names.contains("PREFIX:propertySqlDate")); assertTrue(property_names.contains("PREFIX:propertyTime")); assertTrue(property_names.contains("PREFIX:propertyTimestamp")); assertTrue(property_names.contains("PREFIX:propertyChar")); assertTrue(property_names.contains("PREFIX:propertyBoolean")); assertTrue(property_names.contains("PREFIX:propertyByte")); assertTrue(property_names.contains("PREFIX:propertyDouble")); assertTrue(property_names.contains("PREFIX:propertyFloat")); assertTrue(property_names.contains("PREFIX:propertyInt")); assertTrue(property_names.contains("PREFIX:propertyLong")); assertTrue(property_names.contains("PREFIX:propertyShort")); assertTrue(property_names.contains("PREFIX:propertyBigDecimal")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesPrefixSetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.SETTERS, BeanImpl.class, null, null, "PREFIX:"); assertEquals(property_names.size(), 17); assertTrue(property_names.contains("PREFIX:propertyWriteonly")); assertTrue(property_names.contains("PREFIX:propertyString")); assertTrue(property_names.contains("PREFIX:propertyStringbuffer")); assertTrue(property_names.contains("PREFIX:propertyDate")); assertTrue(property_names.contains("PREFIX:propertyCalendar")); assertTrue(property_names.contains("PREFIX:propertySqlDate")); assertTrue(property_names.contains("PREFIX:propertyTime")); assertTrue(property_names.contains("PREFIX:propertyTimestamp")); assertTrue(property_names.contains("PREFIX:propertyChar")); assertTrue(property_names.contains("PREFIX:propertyBoolean")); assertTrue(property_names.contains("PREFIX:propertyByte")); assertTrue(property_names.contains("PREFIX:propertyDouble")); assertTrue(property_names.contains("PREFIX:propertyFloat")); assertTrue(property_names.contains("PREFIX:propertyInt")); assertTrue(property_names.contains("PREFIX:propertyLong")); assertTrue(property_names.contains("PREFIX:propertyShort")); assertTrue(property_names.contains("PREFIX:propertyBigDecimal")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesIncluded() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, null, null); assertEquals(property_names.size(), 7); assertTrue(property_names.contains("propertyStringbuffer")); assertTrue(property_names.contains("propertyCalendar")); assertTrue(property_names.contains("propertySqlDate")); assertTrue(property_names.contains("propertyChar")); assertTrue(property_names.contains("propertyByte")); assertTrue(property_names.contains("propertyDouble")); assertTrue(property_names.contains("propertyShort")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesIncludedGetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.GETTERS, BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, null, null); assertEquals(property_names.size(), 8); assertTrue(property_names.contains("propertyReadonly")); assertTrue(property_names.contains("propertyStringbuffer")); assertTrue(property_names.contains("propertyCalendar")); assertTrue(property_names.contains("propertySqlDate")); assertTrue(property_names.contains("propertyChar")); assertTrue(property_names.contains("propertyByte")); assertTrue(property_names.contains("propertyDouble")); assertTrue(property_names.contains("propertyShort")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesIncludedSetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.SETTERS, BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, null, null); assertEquals(property_names.size(), 8); assertTrue(property_names.contains("propertyWriteonly")); assertTrue(property_names.contains("propertyStringbuffer")); assertTrue(property_names.contains("propertyCalendar")); assertTrue(property_names.contains("propertySqlDate")); assertTrue(property_names.contains("propertyChar")); assertTrue(property_names.contains("propertyByte")); assertTrue(property_names.contains("propertyDouble")); assertTrue(property_names.contains("propertyShort")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesIncludedPrefix() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, null, "PREFIX:"); assertEquals(property_names.size(), 7); assertTrue(property_names.contains("PREFIX:propertyStringbuffer")); assertTrue(property_names.contains("PREFIX:propertyCalendar")); assertTrue(property_names.contains("PREFIX:propertySqlDate")); assertTrue(property_names.contains("PREFIX:propertyChar")); assertTrue(property_names.contains("PREFIX:propertyByte")); assertTrue(property_names.contains("PREFIX:propertyDouble")); assertTrue(property_names.contains("PREFIX:propertyShort")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesIncludedPrefixGetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.GETTERS, BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, null, "PREFIX:"); assertEquals(property_names.size(), 8); assertTrue(property_names.contains("PREFIX:propertyReadonly")); assertTrue(property_names.contains("PREFIX:propertyStringbuffer")); assertTrue(property_names.contains("PREFIX:propertyCalendar")); assertTrue(property_names.contains("PREFIX:propertySqlDate")); assertTrue(property_names.contains("PREFIX:propertyChar")); assertTrue(property_names.contains("PREFIX:propertyByte")); assertTrue(property_names.contains("PREFIX:propertyDouble")); assertTrue(property_names.contains("PREFIX:propertyShort")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesIncludedPrefixSetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.SETTERS, BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, null, "PREFIX:"); assertEquals(property_names.size(), 8); assertTrue(property_names.contains("PREFIX:propertyWriteonly")); assertTrue(property_names.contains("PREFIX:propertyStringbuffer")); assertTrue(property_names.contains("PREFIX:propertyCalendar")); assertTrue(property_names.contains("PREFIX:propertySqlDate")); assertTrue(property_names.contains("PREFIX:propertyChar")); assertTrue(property_names.contains("PREFIX:propertyByte")); assertTrue(property_names.contains("PREFIX:propertyDouble")); assertTrue(property_names.contains("PREFIX:propertyShort")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesExcluded() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanImpl.class, null, new String[] {"propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, null); assertEquals(property_names.size(), 9); assertTrue(property_names.contains("propertyString")); assertTrue(property_names.contains("propertyDate")); assertTrue(property_names.contains("propertyTime")); assertTrue(property_names.contains("propertyTimestamp")); assertTrue(property_names.contains("propertyBoolean")); assertTrue(property_names.contains("propertyFloat")); assertTrue(property_names.contains("propertyInt")); assertTrue(property_names.contains("propertyLong")); assertTrue(property_names.contains("propertyBigDecimal")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesExcludedGetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.GETTERS, BeanImpl.class, null, new String[] {"propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, null); assertEquals(property_names.size(), 10); assertTrue(property_names.contains("propertyReadonly")); assertTrue(property_names.contains("propertyString")); assertTrue(property_names.contains("propertyDate")); assertTrue(property_names.contains("propertyTime")); assertTrue(property_names.contains("propertyTimestamp")); assertTrue(property_names.contains("propertyBoolean")); assertTrue(property_names.contains("propertyFloat")); assertTrue(property_names.contains("propertyInt")); assertTrue(property_names.contains("propertyLong")); assertTrue(property_names.contains("propertyBigDecimal")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesExcludedSetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.SETTERS, BeanImpl.class, null, new String[] {"propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, null); assertEquals(property_names.size(), 10); assertTrue(property_names.contains("propertyWriteonly")); assertTrue(property_names.contains("propertyString")); assertTrue(property_names.contains("propertyDate")); assertTrue(property_names.contains("propertyTime")); assertTrue(property_names.contains("propertyTimestamp")); assertTrue(property_names.contains("propertyBoolean")); assertTrue(property_names.contains("propertyFloat")); assertTrue(property_names.contains("propertyInt")); assertTrue(property_names.contains("propertyLong")); assertTrue(property_names.contains("propertyBigDecimal")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesExcludedPrefix() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanImpl.class, null, new String[] {"PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, "PREFIX:"); assertEquals(property_names.size(), 9); assertTrue(property_names.contains("PREFIX:propertyString")); assertTrue(property_names.contains("PREFIX:propertyDate")); assertTrue(property_names.contains("PREFIX:propertyTime")); assertTrue(property_names.contains("PREFIX:propertyTimestamp")); assertTrue(property_names.contains("PREFIX:propertyBoolean")); assertTrue(property_names.contains("PREFIX:propertyFloat")); assertTrue(property_names.contains("PREFIX:propertyInt")); assertTrue(property_names.contains("PREFIX:propertyLong")); assertTrue(property_names.contains("PREFIX:propertyBigDecimal")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesExcludedPrefixGetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.GETTERS, BeanImpl.class, null, new String[] {"PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, "PREFIX:"); assertEquals(property_names.size(), 10); assertTrue(property_names.contains("PREFIX:propertyReadonly")); assertTrue(property_names.contains("PREFIX:propertyString")); assertTrue(property_names.contains("PREFIX:propertyDate")); assertTrue(property_names.contains("PREFIX:propertyTime")); assertTrue(property_names.contains("PREFIX:propertyTimestamp")); assertTrue(property_names.contains("PREFIX:propertyBoolean")); assertTrue(property_names.contains("PREFIX:propertyFloat")); assertTrue(property_names.contains("PREFIX:propertyInt")); assertTrue(property_names.contains("PREFIX:propertyLong")); assertTrue(property_names.contains("PREFIX:propertyBigDecimal")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesExcludedPrefixSetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.SETTERS, BeanImpl.class, null, new String[] {"PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, "PREFIX:"); assertEquals(property_names.size(), 10); assertTrue(property_names.contains("PREFIX:propertyWriteonly")); assertTrue(property_names.contains("PREFIX:propertyString")); assertTrue(property_names.contains("PREFIX:propertyDate")); assertTrue(property_names.contains("PREFIX:propertyTime")); assertTrue(property_names.contains("PREFIX:propertyTimestamp")); assertTrue(property_names.contains("PREFIX:propertyBoolean")); assertTrue(property_names.contains("PREFIX:propertyFloat")); assertTrue(property_names.contains("PREFIX:propertyInt")); assertTrue(property_names.contains("PREFIX:propertyLong")); assertTrue(property_names.contains("PREFIX:propertyBigDecimal")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesFiltered() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, new String[] {"propertySqlDate", "propertyByte", "propertyShort"}, null); assertEquals(property_names.size(), 4); assertTrue(property_names.contains("propertyStringbuffer")); assertTrue(property_names.contains("propertyCalendar")); assertTrue(property_names.contains("propertyChar")); assertTrue(property_names.contains("propertyDouble")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesFilteredGetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.GETTERS, BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, new String[] {"propertySqlDate", "propertyByte", "propertyShort"}, null); assertEquals(property_names.size(), 5); assertTrue(property_names.contains("propertyReadonly")); assertTrue(property_names.contains("propertyStringbuffer")); assertTrue(property_names.contains("propertyCalendar")); assertTrue(property_names.contains("propertyChar")); assertTrue(property_names.contains("propertyDouble")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesFilteredSetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.SETTERS, BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, new String[] {"propertySqlDate", "propertyByte", "propertyShort"}, null); assertEquals(property_names.size(), 5); assertTrue(property_names.contains("propertyWriteonly")); assertTrue(property_names.contains("propertyStringbuffer")); assertTrue(property_names.contains("propertyCalendar")); assertTrue(property_names.contains("propertyChar")); assertTrue(property_names.contains("propertyDouble")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesFilteredPrefix() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, new String[] {"PREFIX:propertySqlDate", "PREFIX:propertyByte", "PREFIX:propertyShort"}, "PREFIX:"); assertEquals(property_names.size(), 4); assertTrue(property_names.contains("PREFIX:propertyStringbuffer")); assertTrue(property_names.contains("PREFIX:propertyCalendar")); assertTrue(property_names.contains("PREFIX:propertyChar")); assertTrue(property_names.contains("PREFIX:propertyDouble")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesFilteredPrefixGetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.GETTERS, BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, new String[] {"PREFIX:propertySqlDate", "PREFIX:propertyByte", "PREFIX:propertyShort"}, "PREFIX:"); assertEquals(property_names.size(), 5); assertTrue(property_names.contains("PREFIX:propertyReadonly")); assertTrue(property_names.contains("PREFIX:propertyStringbuffer")); assertTrue(property_names.contains("PREFIX:propertyCalendar")); assertTrue(property_names.contains("PREFIX:propertyChar")); assertTrue(property_names.contains("PREFIX:propertyDouble")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyNamesFilteredPrefixSetters() { try { Set<String> property_names = BeanUtils.getPropertyNames(BeanUtils.SETTERS, BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, new String[] {"PREFIX:propertySqlDate", "PREFIX:propertyByte", "PREFIX:propertyShort"}, "PREFIX:"); assertEquals(property_names.size(), 5); assertTrue(property_names.contains("PREFIX:propertyWriteonly")); assertTrue(property_names.contains("PREFIX:propertyStringbuffer")); assertTrue(property_names.contains("PREFIX:propertyCalendar")); assertTrue(property_names.contains("PREFIX:propertyChar")); assertTrue(property_names.contains("PREFIX:propertyDouble")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesIllegal() { try { assertEquals(0, BeanUtils.countProperties(null, null, null, null)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountProperties() { try { int count = BeanUtils.countProperties(BeanImpl.class, null, null, null); assertEquals(count, 16); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesGetters() { try { int count = BeanUtils.countProperties(BeanUtils.GETTERS, BeanImpl.class, null, null, null); assertEquals(count, 17); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesSetters() { try { int count = BeanUtils.countProperties(BeanUtils.SETTERS, BeanImpl.class, null, null, null); assertEquals(count, 17); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesPrefix() { try { int count = BeanUtils.countProperties(BeanImpl.class, null, null, "PREFIX:"); assertEquals(count, 16); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesPrefixGetters() { try { int count = BeanUtils.countProperties(BeanUtils.GETTERS, BeanImpl.class, null, null, "PREFIX:"); assertEquals(count, 17); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesPrefixSetters() { try { int count = BeanUtils.countProperties(BeanUtils.SETTERS, BeanImpl.class, null, null, "PREFIX:"); assertEquals(count, 17); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesIncluded() { try { assertEquals(7, BeanUtils.countProperties(BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, null, null)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesIncludedGetters() { try { assertEquals(8, BeanUtils.countProperties(BeanUtils.GETTERS, BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, null, null)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesIncludedSetters() { try { assertEquals(8, BeanUtils.countProperties(BeanUtils.SETTERS, BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, null, null)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesIncludedPrefix() { try { assertEquals(7, BeanUtils.countProperties(BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, null, "PREFIX:")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesIncludedPrefixGetters() { try { assertEquals(8, BeanUtils.countProperties(BeanUtils.GETTERS, BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, null, "PREFIX:")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesIncludedPrefixSetters() { try { assertEquals(8, BeanUtils.countProperties(BeanUtils.SETTERS, BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, null, "PREFIX:")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesExcluded() { try { int count = BeanUtils.countProperties(BeanImpl.class, null, new String[] {"propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, null); assertEquals(count, 9); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesExcludedGetters() { try { int count = BeanUtils.countProperties(BeanUtils.GETTERS, BeanImpl.class, null, new String[] {"propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, null); assertEquals(count, 10); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesExcludedSetters() { try { int count = BeanUtils.countProperties(BeanUtils.SETTERS, BeanImpl.class, null, new String[] {"propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, null); assertEquals(count, 10); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesExcludedPrefix() { try { int count = BeanUtils.countProperties(BeanImpl.class, null, new String[] {"PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, "PREFIX:"); assertEquals(count, 9); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesExcludedPrefixGetters() { try { int count = BeanUtils.countProperties(BeanUtils.GETTERS, BeanImpl.class, null, new String[] {"PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, "PREFIX:"); assertEquals(count, 10); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesExcludedPrefixSetters() { try { int count = BeanUtils.countProperties(BeanUtils.SETTERS, BeanImpl.class, null, new String[] {"PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, "PREFIX:"); assertEquals(count, 10); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesFiltered() { try { assertEquals(3, BeanUtils.countProperties(BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, new String[] {"propertyStringbuffer", "propertyChar", "propertyByte", "propertyShort"}, null)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesFilteredGetters() { try { assertEquals(4, BeanUtils.countProperties(BeanUtils.GETTERS, BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, new String[] {"propertyStringbuffer", "propertyChar", "propertyByte", "propertyShort"}, null)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesFilteredSetters() { try { assertEquals(4, BeanUtils.countProperties(BeanUtils.SETTERS, BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyStringbuffer", "propertyCalendar", "propertySqlDate", "propertyChar", "propertyByte", "propertyDouble", "propertyShort"}, new String[] {"propertyStringbuffer", "propertyChar", "propertyByte", "propertyShort"}, null)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesFilteredPrefix() { try { assertEquals(3, BeanUtils.countProperties(BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, new String[] {"PREFIX:propertyStringbuffer", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyShort"}, "PREFIX:")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesFilteredPrefixGetters() { try { assertEquals(4, BeanUtils.countProperties(BeanUtils.GETTERS, BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, new String[] {"PREFIX:propertyStringbuffer", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyShort"}, "PREFIX:")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testCountPropertiesFilteredPrefixSetters() { try { assertEquals(4, BeanUtils.countProperties(BeanUtils.SETTERS, BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyStringbuffer", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyDouble", "PREFIX:propertyShort"}, new String[] {"PREFIX:propertyStringbuffer", "PREFIX:propertyChar", "PREFIX:propertyByte", "PREFIX:propertyShort"}, "PREFIX:")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypeIllegal() { try { BeanUtils.getPropertyType(null, null); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } try { BeanUtils.getPropertyType(Object.class, null); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } try { BeanUtils.getPropertyType(Object.class, ""); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyType() { try { assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyString"), String.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyStringbuffer"), StringBuffer.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyDate"), java.util.Date.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyCalendar"), java.util.Calendar.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertySqlDate"), java.sql.Date.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyTime"), java.sql.Time.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyTimestamp"), java.sql.Timestamp.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyChar"), char.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyBoolean"), boolean.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyByte"), byte.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyDouble"), double.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyFloat"), float.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyInt"), int.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyLong"), long.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyShort"), short.class); assertSame(BeanUtils.getPropertyType(BeanImpl.class, "propertyBigDecimal"), BigDecimal.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } try { assertSame(BeanUtils.getPropertyType(BeanImpl.class, "unknown"), String.class); fail(); } catch (BeanUtilsException e) { assertSame(e.getBeanClass(), BeanImpl.class); } } public void testPropertyTypesIllegal() { try { assertEquals(0, BeanUtils.getPropertyTypes(null, null, null, null).size()); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypes() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanImpl.class, null, null, null); assertEquals(property_types.size(), 16); assertTrue(property_types.containsKey("propertyString")); assertTrue(property_types.containsKey("propertyStringbuffer")); assertTrue(property_types.containsKey("propertyDate")); assertTrue(property_types.containsKey("propertyCalendar")); assertTrue(property_types.containsKey("propertySqlDate")); assertTrue(property_types.containsKey("propertyTime")); assertTrue(property_types.containsKey("propertyTimestamp")); assertTrue(property_types.containsKey("propertyChar")); assertTrue(property_types.containsKey("propertyBoolean")); assertTrue(property_types.containsKey("propertyByte")); assertTrue(property_types.containsKey("propertyDouble")); assertTrue(property_types.containsKey("propertyFloat")); assertTrue(property_types.containsKey("propertyInt")); assertTrue(property_types.containsKey("propertyLong")); assertTrue(property_types.containsKey("propertyShort")); assertTrue(property_types.containsKey("propertyBigDecimal")); assertSame(property_types.get("propertyString"), String.class); assertSame(property_types.get("propertyStringbuffer"), StringBuffer.class); assertSame(property_types.get("propertyDate"), java.util.Date.class); assertSame(property_types.get("propertyCalendar"), java.util.Calendar.class); assertSame(property_types.get("propertySqlDate"), java.sql.Date.class); assertSame(property_types.get("propertyTime"), java.sql.Time.class); assertSame(property_types.get("propertyTimestamp"), java.sql.Timestamp.class); assertSame(property_types.get("propertyChar"), char.class); assertSame(property_types.get("propertyBoolean"), boolean.class); assertSame(property_types.get("propertyByte"), byte.class); assertSame(property_types.get("propertyDouble"), double.class); assertSame(property_types.get("propertyFloat"), float.class); assertSame(property_types.get("propertyInt"), int.class); assertSame(property_types.get("propertyLong"), long.class); assertSame(property_types.get("propertyShort"), short.class); assertSame(property_types.get("propertyBigDecimal"), BigDecimal.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesGetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.GETTERS, BeanImpl.class, null, null, null); assertEquals(property_types.size(), 17); assertTrue(property_types.containsKey("propertyReadonly")); assertTrue(property_types.containsKey("propertyString")); assertTrue(property_types.containsKey("propertyStringbuffer")); assertTrue(property_types.containsKey("propertyDate")); assertTrue(property_types.containsKey("propertyCalendar")); assertTrue(property_types.containsKey("propertySqlDate")); assertTrue(property_types.containsKey("propertyTime")); assertTrue(property_types.containsKey("propertyTimestamp")); assertTrue(property_types.containsKey("propertyChar")); assertTrue(property_types.containsKey("propertyBoolean")); assertTrue(property_types.containsKey("propertyByte")); assertTrue(property_types.containsKey("propertyDouble")); assertTrue(property_types.containsKey("propertyFloat")); assertTrue(property_types.containsKey("propertyInt")); assertTrue(property_types.containsKey("propertyLong")); assertTrue(property_types.containsKey("propertyShort")); assertTrue(property_types.containsKey("propertyBigDecimal")); assertSame(property_types.get("propertyReadonly"), int.class); assertSame(property_types.get("propertyString"), String.class); assertSame(property_types.get("propertyStringbuffer"), StringBuffer.class); assertSame(property_types.get("propertyDate"), java.util.Date.class); assertSame(property_types.get("propertyCalendar"), java.util.Calendar.class); assertSame(property_types.get("propertySqlDate"), java.sql.Date.class); assertSame(property_types.get("propertyTime"), java.sql.Time.class); assertSame(property_types.get("propertyTimestamp"), java.sql.Timestamp.class); assertSame(property_types.get("propertyChar"), char.class); assertSame(property_types.get("propertyBoolean"), boolean.class); assertSame(property_types.get("propertyByte"), byte.class); assertSame(property_types.get("propertyDouble"), double.class); assertSame(property_types.get("propertyFloat"), float.class); assertSame(property_types.get("propertyInt"), int.class); assertSame(property_types.get("propertyLong"), long.class); assertSame(property_types.get("propertyShort"), short.class); assertSame(property_types.get("propertyBigDecimal"), BigDecimal.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesSetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.SETTERS, BeanImpl.class, null, null, null); assertEquals(property_types.size(), 17); assertTrue(property_types.containsKey("propertyWriteonly")); assertTrue(property_types.containsKey("propertyString")); assertTrue(property_types.containsKey("propertyStringbuffer")); assertTrue(property_types.containsKey("propertyDate")); assertTrue(property_types.containsKey("propertyCalendar")); assertTrue(property_types.containsKey("propertySqlDate")); assertTrue(property_types.containsKey("propertyTime")); assertTrue(property_types.containsKey("propertyTimestamp")); assertTrue(property_types.containsKey("propertyChar")); assertTrue(property_types.containsKey("propertyBoolean")); assertTrue(property_types.containsKey("propertyByte")); assertTrue(property_types.containsKey("propertyDouble")); assertTrue(property_types.containsKey("propertyFloat")); assertTrue(property_types.containsKey("propertyInt")); assertTrue(property_types.containsKey("propertyLong")); assertTrue(property_types.containsKey("propertyShort")); assertTrue(property_types.containsKey("propertyBigDecimal")); assertSame(property_types.get("propertyWriteonly"), long.class); assertSame(property_types.get("propertyString"), String.class); assertSame(property_types.get("propertyStringbuffer"), StringBuffer.class); assertSame(property_types.get("propertyDate"), java.util.Date.class); assertSame(property_types.get("propertyCalendar"), java.util.Calendar.class); assertSame(property_types.get("propertySqlDate"), java.sql.Date.class); assertSame(property_types.get("propertyTime"), java.sql.Time.class); assertSame(property_types.get("propertyTimestamp"), java.sql.Timestamp.class); assertSame(property_types.get("propertyChar"), char.class); assertSame(property_types.get("propertyBoolean"), boolean.class); assertSame(property_types.get("propertyByte"), byte.class); assertSame(property_types.get("propertyDouble"), double.class); assertSame(property_types.get("propertyFloat"), float.class); assertSame(property_types.get("propertyInt"), int.class); assertSame(property_types.get("propertyLong"), long.class); assertSame(property_types.get("propertyShort"), short.class); assertSame(property_types.get("propertyBigDecimal"), BigDecimal.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesPrefix() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanImpl.class, null, null, "PREFIX:"); assertEquals(property_types.size(), 16); assertTrue(property_types.containsKey("PREFIX:propertyString")); assertTrue(property_types.containsKey("PREFIX:propertyStringbuffer")); assertTrue(property_types.containsKey("PREFIX:propertyDate")); assertTrue(property_types.containsKey("PREFIX:propertyCalendar")); assertTrue(property_types.containsKey("PREFIX:propertySqlDate")); assertTrue(property_types.containsKey("PREFIX:propertyTime")); assertTrue(property_types.containsKey("PREFIX:propertyTimestamp")); assertTrue(property_types.containsKey("PREFIX:propertyChar")); assertTrue(property_types.containsKey("PREFIX:propertyBoolean")); assertTrue(property_types.containsKey("PREFIX:propertyByte")); assertTrue(property_types.containsKey("PREFIX:propertyDouble")); assertTrue(property_types.containsKey("PREFIX:propertyFloat")); assertTrue(property_types.containsKey("PREFIX:propertyInt")); assertTrue(property_types.containsKey("PREFIX:propertyLong")); assertTrue(property_types.containsKey("PREFIX:propertyShort")); assertTrue(property_types.containsKey("PREFIX:propertyBigDecimal")); assertSame(property_types.get("PREFIX:propertyString"), String.class); assertSame(property_types.get("PREFIX:propertyStringbuffer"), StringBuffer.class); assertSame(property_types.get("PREFIX:propertyDate"), java.util.Date.class); assertSame(property_types.get("PREFIX:propertyCalendar"), java.util.Calendar.class); assertSame(property_types.get("PREFIX:propertySqlDate"), java.sql.Date.class); assertSame(property_types.get("PREFIX:propertyTime"), java.sql.Time.class); assertSame(property_types.get("PREFIX:propertyTimestamp"), java.sql.Timestamp.class); assertSame(property_types.get("PREFIX:propertyChar"), char.class); assertSame(property_types.get("PREFIX:propertyBoolean"), boolean.class); assertSame(property_types.get("PREFIX:propertyByte"), byte.class); assertSame(property_types.get("PREFIX:propertyDouble"), double.class); assertSame(property_types.get("PREFIX:propertyFloat"), float.class); assertSame(property_types.get("PREFIX:propertyInt"), int.class); assertSame(property_types.get("PREFIX:propertyLong"), long.class); assertSame(property_types.get("PREFIX:propertyShort"), short.class); assertSame(property_types.get("PREFIX:propertyBigDecimal"), BigDecimal.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesPrefixGetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.GETTERS, BeanImpl.class, null, null, "PREFIX:"); assertEquals(property_types.size(), 17); assertTrue(property_types.containsKey("PREFIX:propertyReadonly")); assertTrue(property_types.containsKey("PREFIX:propertyString")); assertTrue(property_types.containsKey("PREFIX:propertyStringbuffer")); assertTrue(property_types.containsKey("PREFIX:propertyDate")); assertTrue(property_types.containsKey("PREFIX:propertyCalendar")); assertTrue(property_types.containsKey("PREFIX:propertySqlDate")); assertTrue(property_types.containsKey("PREFIX:propertyTime")); assertTrue(property_types.containsKey("PREFIX:propertyTimestamp")); assertTrue(property_types.containsKey("PREFIX:propertyChar")); assertTrue(property_types.containsKey("PREFIX:propertyBoolean")); assertTrue(property_types.containsKey("PREFIX:propertyByte")); assertTrue(property_types.containsKey("PREFIX:propertyDouble")); assertTrue(property_types.containsKey("PREFIX:propertyFloat")); assertTrue(property_types.containsKey("PREFIX:propertyInt")); assertTrue(property_types.containsKey("PREFIX:propertyLong")); assertTrue(property_types.containsKey("PREFIX:propertyShort")); assertTrue(property_types.containsKey("PREFIX:propertyBigDecimal")); assertSame(property_types.get("PREFIX:propertyReadonly"), int.class); assertSame(property_types.get("PREFIX:propertyString"), String.class); assertSame(property_types.get("PREFIX:propertyStringbuffer"), StringBuffer.class); assertSame(property_types.get("PREFIX:propertyDate"), java.util.Date.class); assertSame(property_types.get("PREFIX:propertyCalendar"), java.util.Calendar.class); assertSame(property_types.get("PREFIX:propertySqlDate"), java.sql.Date.class); assertSame(property_types.get("PREFIX:propertyTime"), java.sql.Time.class); assertSame(property_types.get("PREFIX:propertyTimestamp"), java.sql.Timestamp.class); assertSame(property_types.get("PREFIX:propertyChar"), char.class); assertSame(property_types.get("PREFIX:propertyBoolean"), boolean.class); assertSame(property_types.get("PREFIX:propertyByte"), byte.class); assertSame(property_types.get("PREFIX:propertyDouble"), double.class); assertSame(property_types.get("PREFIX:propertyFloat"), float.class); assertSame(property_types.get("PREFIX:propertyInt"), int.class); assertSame(property_types.get("PREFIX:propertyLong"), long.class); assertSame(property_types.get("PREFIX:propertyShort"), short.class); assertSame(property_types.get("PREFIX:propertyBigDecimal"), BigDecimal.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesPrefixSetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.SETTERS, BeanImpl.class, null, null, "PREFIX:"); assertEquals(property_types.size(), 17); assertTrue(property_types.containsKey("PREFIX:propertyWriteonly")); assertTrue(property_types.containsKey("PREFIX:propertyString")); assertTrue(property_types.containsKey("PREFIX:propertyStringbuffer")); assertTrue(property_types.containsKey("PREFIX:propertyDate")); assertTrue(property_types.containsKey("PREFIX:propertyCalendar")); assertTrue(property_types.containsKey("PREFIX:propertySqlDate")); assertTrue(property_types.containsKey("PREFIX:propertyTime")); assertTrue(property_types.containsKey("PREFIX:propertyTimestamp")); assertTrue(property_types.containsKey("PREFIX:propertyChar")); assertTrue(property_types.containsKey("PREFIX:propertyBoolean")); assertTrue(property_types.containsKey("PREFIX:propertyByte")); assertTrue(property_types.containsKey("PREFIX:propertyDouble")); assertTrue(property_types.containsKey("PREFIX:propertyFloat")); assertTrue(property_types.containsKey("PREFIX:propertyInt")); assertTrue(property_types.containsKey("PREFIX:propertyLong")); assertTrue(property_types.containsKey("PREFIX:propertyShort")); assertTrue(property_types.containsKey("PREFIX:propertyBigDecimal")); assertSame(property_types.get("PREFIX:propertyWriteonly"), long.class); assertSame(property_types.get("PREFIX:propertyString"), String.class); assertSame(property_types.get("PREFIX:propertyStringbuffer"), StringBuffer.class); assertSame(property_types.get("PREFIX:propertyDate"), java.util.Date.class); assertSame(property_types.get("PREFIX:propertyCalendar"), java.util.Calendar.class); assertSame(property_types.get("PREFIX:propertySqlDate"), java.sql.Date.class); assertSame(property_types.get("PREFIX:propertyTime"), java.sql.Time.class); assertSame(property_types.get("PREFIX:propertyTimestamp"), java.sql.Timestamp.class); assertSame(property_types.get("PREFIX:propertyChar"), char.class); assertSame(property_types.get("PREFIX:propertyBoolean"), boolean.class); assertSame(property_types.get("PREFIX:propertyByte"), byte.class); assertSame(property_types.get("PREFIX:propertyDouble"), double.class); assertSame(property_types.get("PREFIX:propertyFloat"), float.class); assertSame(property_types.get("PREFIX:propertyInt"), int.class); assertSame(property_types.get("PREFIX:propertyLong"), long.class); assertSame(property_types.get("PREFIX:propertyShort"), short.class); assertSame(property_types.get("PREFIX:propertyBigDecimal"), BigDecimal.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesIncluded() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyString", "propertyDate", "propertySqlDate", "propertyTime", "propertyByte", "propertyFloat", "propertyShort"}, null, null); assertEquals(property_types.size(), 7); assertTrue(property_types.containsKey("propertyString")); assertTrue(property_types.containsKey("propertyDate")); assertTrue(property_types.containsKey("propertySqlDate")); assertTrue(property_types.containsKey("propertyTime")); assertTrue(property_types.containsKey("propertyByte")); assertTrue(property_types.containsKey("propertyFloat")); assertTrue(property_types.containsKey("propertyShort")); assertSame(property_types.get("propertyString"), String.class); assertSame(property_types.get("propertyDate"), java.util.Date.class); assertSame(property_types.get("propertySqlDate"), java.sql.Date.class); assertSame(property_types.get("propertyTime"), java.sql.Time.class); assertSame(property_types.get("propertyByte"), byte.class); assertSame(property_types.get("propertyFloat"), float.class); assertSame(property_types.get("propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesIncludedGetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.GETTERS, BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyString", "propertyDate", "propertySqlDate", "propertyTime", "propertyByte", "propertyFloat", "propertyShort"}, null, null); assertEquals(property_types.size(), 8); assertTrue(property_types.containsKey("propertyReadonly")); assertTrue(property_types.containsKey("propertyString")); assertTrue(property_types.containsKey("propertyDate")); assertTrue(property_types.containsKey("propertySqlDate")); assertTrue(property_types.containsKey("propertyTime")); assertTrue(property_types.containsKey("propertyByte")); assertTrue(property_types.containsKey("propertyFloat")); assertTrue(property_types.containsKey("propertyShort")); assertSame(property_types.get("propertyReadonly"), int.class); assertSame(property_types.get("propertyString"), String.class); assertSame(property_types.get("propertyDate"), java.util.Date.class); assertSame(property_types.get("propertySqlDate"), java.sql.Date.class); assertSame(property_types.get("propertyTime"), java.sql.Time.class); assertSame(property_types.get("propertyByte"), byte.class); assertSame(property_types.get("propertyFloat"), float.class); assertSame(property_types.get("propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesIncludedSetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.SETTERS, BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyString", "propertyDate", "propertySqlDate", "propertyTime", "propertyByte", "propertyFloat", "propertyShort"}, null, null); assertEquals(property_types.size(), 8); assertTrue(property_types.containsKey("propertyWriteonly")); assertTrue(property_types.containsKey("propertyString")); assertTrue(property_types.containsKey("propertyDate")); assertTrue(property_types.containsKey("propertySqlDate")); assertTrue(property_types.containsKey("propertyTime")); assertTrue(property_types.containsKey("propertyByte")); assertTrue(property_types.containsKey("propertyFloat")); assertTrue(property_types.containsKey("propertyShort")); assertSame(property_types.get("propertyWriteonly"), long.class); assertSame(property_types.get("propertyString"), String.class); assertSame(property_types.get("propertyDate"), java.util.Date.class); assertSame(property_types.get("propertySqlDate"), java.sql.Date.class); assertSame(property_types.get("propertyTime"), java.sql.Time.class); assertSame(property_types.get("propertyByte"), byte.class); assertSame(property_types.get("propertyFloat"), float.class); assertSame(property_types.get("propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesIncludedPrefix() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyString", "PREFIX:propertyDate", "PREFIX:propertySqlDate", "PREFIX:propertyTime", "PREFIX:propertyByte", "PREFIX:propertyFloat", "PREFIX:propertyShort"}, null, "PREFIX:"); assertEquals(property_types.size(), 7); assertTrue(property_types.containsKey("PREFIX:propertyString")); assertTrue(property_types.containsKey("PREFIX:propertyDate")); assertTrue(property_types.containsKey("PREFIX:propertySqlDate")); assertTrue(property_types.containsKey("PREFIX:propertyTime")); assertTrue(property_types.containsKey("PREFIX:propertyByte")); assertTrue(property_types.containsKey("PREFIX:propertyFloat")); assertTrue(property_types.containsKey("PREFIX:propertyShort")); assertSame(property_types.get("PREFIX:propertyString"), String.class); assertSame(property_types.get("PREFIX:propertyDate"), java.util.Date.class); assertSame(property_types.get("PREFIX:propertySqlDate"), java.sql.Date.class); assertSame(property_types.get("PREFIX:propertyTime"), java.sql.Time.class); assertSame(property_types.get("PREFIX:propertyByte"), byte.class); assertSame(property_types.get("PREFIX:propertyFloat"), float.class); assertSame(property_types.get("PREFIX:propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesIncludedPrefixGetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.GETTERS, BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyString", "PREFIX:propertyDate", "PREFIX:propertySqlDate", "PREFIX:propertyTime", "PREFIX:propertyByte", "PREFIX:propertyFloat", "PREFIX:propertyShort"}, null, "PREFIX:"); assertEquals(property_types.size(), 8); assertTrue(property_types.containsKey("PREFIX:propertyReadonly")); assertTrue(property_types.containsKey("PREFIX:propertyString")); assertTrue(property_types.containsKey("PREFIX:propertyDate")); assertTrue(property_types.containsKey("PREFIX:propertySqlDate")); assertTrue(property_types.containsKey("PREFIX:propertyTime")); assertTrue(property_types.containsKey("PREFIX:propertyByte")); assertTrue(property_types.containsKey("PREFIX:propertyFloat")); assertTrue(property_types.containsKey("PREFIX:propertyShort")); assertSame(property_types.get("PREFIX:propertyReadonly"), int.class); assertSame(property_types.get("PREFIX:propertyString"), String.class); assertSame(property_types.get("PREFIX:propertyDate"), java.util.Date.class); assertSame(property_types.get("PREFIX:propertySqlDate"), java.sql.Date.class); assertSame(property_types.get("PREFIX:propertyTime"), java.sql.Time.class); assertSame(property_types.get("PREFIX:propertyByte"), byte.class); assertSame(property_types.get("PREFIX:propertyFloat"), float.class); assertSame(property_types.get("PREFIX:propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesIncludedPrefixSetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.SETTERS, BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyString", "PREFIX:propertyDate", "PREFIX:propertySqlDate", "PREFIX:propertyTime", "PREFIX:propertyByte", "PREFIX:propertyFloat", "PREFIX:propertyShort"}, null, "PREFIX:"); assertEquals(property_types.size(), 8); assertTrue(property_types.containsKey("PREFIX:propertyWriteonly")); assertTrue(property_types.containsKey("PREFIX:propertyString")); assertTrue(property_types.containsKey("PREFIX:propertyDate")); assertTrue(property_types.containsKey("PREFIX:propertySqlDate")); assertTrue(property_types.containsKey("PREFIX:propertyTime")); assertTrue(property_types.containsKey("PREFIX:propertyByte")); assertTrue(property_types.containsKey("PREFIX:propertyFloat")); assertTrue(property_types.containsKey("PREFIX:propertyShort")); assertSame(property_types.get("PREFIX:propertyWriteonly"), long.class); assertSame(property_types.get("PREFIX:propertyString"), String.class); assertSame(property_types.get("PREFIX:propertyDate"), java.util.Date.class); assertSame(property_types.get("PREFIX:propertySqlDate"), java.sql.Date.class); assertSame(property_types.get("PREFIX:propertyTime"), java.sql.Time.class); assertSame(property_types.get("PREFIX:propertyByte"), byte.class); assertSame(property_types.get("PREFIX:propertyFloat"), float.class); assertSame(property_types.get("PREFIX:propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesExcluded() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanImpl.class, null, new String[] {"propertyString", "propertyCalendar", "propertySqlDate", "propertyBoolean", "propertyFloat", "propertyBigDecimal"}, null); assertEquals(property_types.size(), 10); assertTrue(property_types.containsKey("propertyStringbuffer")); assertTrue(property_types.containsKey("propertyDate")); assertTrue(property_types.containsKey("propertyTime")); assertTrue(property_types.containsKey("propertyTimestamp")); assertTrue(property_types.containsKey("propertyChar")); assertTrue(property_types.containsKey("propertyByte")); assertTrue(property_types.containsKey("propertyDouble")); assertTrue(property_types.containsKey("propertyInt")); assertTrue(property_types.containsKey("propertyLong")); assertTrue(property_types.containsKey("propertyShort")); assertSame(property_types.get("propertyStringbuffer"), StringBuffer.class); assertSame(property_types.get("propertyDate"), java.util.Date.class); assertSame(property_types.get("propertyTime"), java.sql.Time.class); assertSame(property_types.get("propertyTimestamp"), java.sql.Timestamp.class); assertSame(property_types.get("propertyChar"), char.class); assertSame(property_types.get("propertyByte"), byte.class); assertSame(property_types.get("propertyDouble"), double.class); assertSame(property_types.get("propertyInt"), int.class); assertSame(property_types.get("propertyLong"), long.class); assertSame(property_types.get("propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesExcludedGetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.GETTERS, BeanImpl.class, null, new String[] {"propertyString", "propertyCalendar", "propertySqlDate", "propertyBoolean", "propertyFloat", "propertyBigDecimal"}, null); assertEquals(property_types.size(), 11); assertTrue(property_types.containsKey("propertyReadonly")); assertTrue(property_types.containsKey("propertyStringbuffer")); assertTrue(property_types.containsKey("propertyDate")); assertTrue(property_types.containsKey("propertyTime")); assertTrue(property_types.containsKey("propertyTimestamp")); assertTrue(property_types.containsKey("propertyChar")); assertTrue(property_types.containsKey("propertyByte")); assertTrue(property_types.containsKey("propertyDouble")); assertTrue(property_types.containsKey("propertyInt")); assertTrue(property_types.containsKey("propertyLong")); assertTrue(property_types.containsKey("propertyShort")); assertSame(property_types.get("propertyReadonly"), int.class); assertSame(property_types.get("propertyStringbuffer"), StringBuffer.class); assertSame(property_types.get("propertyDate"), java.util.Date.class); assertSame(property_types.get("propertyTime"), java.sql.Time.class); assertSame(property_types.get("propertyTimestamp"), java.sql.Timestamp.class); assertSame(property_types.get("propertyChar"), char.class); assertSame(property_types.get("propertyByte"), byte.class); assertSame(property_types.get("propertyDouble"), double.class); assertSame(property_types.get("propertyInt"), int.class); assertSame(property_types.get("propertyLong"), long.class); assertSame(property_types.get("propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesExcludedSetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.SETTERS, BeanImpl.class, null, new String[] {"propertyString", "propertyCalendar", "propertySqlDate", "propertyBoolean", "propertyFloat", "propertyBigDecimal"}, null); assertEquals(property_types.size(), 11); assertTrue(property_types.containsKey("propertyWriteonly")); assertTrue(property_types.containsKey("propertyStringbuffer")); assertTrue(property_types.containsKey("propertyDate")); assertTrue(property_types.containsKey("propertyTime")); assertTrue(property_types.containsKey("propertyTimestamp")); assertTrue(property_types.containsKey("propertyChar")); assertTrue(property_types.containsKey("propertyByte")); assertTrue(property_types.containsKey("propertyDouble")); assertTrue(property_types.containsKey("propertyInt")); assertTrue(property_types.containsKey("propertyLong")); assertTrue(property_types.containsKey("propertyShort")); assertSame(property_types.get("propertyWriteonly"), long.class); assertSame(property_types.get("propertyStringbuffer"), StringBuffer.class); assertSame(property_types.get("propertyDate"), java.util.Date.class); assertSame(property_types.get("propertyTime"), java.sql.Time.class); assertSame(property_types.get("propertyTimestamp"), java.sql.Timestamp.class); assertSame(property_types.get("propertyChar"), char.class); assertSame(property_types.get("propertyByte"), byte.class); assertSame(property_types.get("propertyDouble"), double.class); assertSame(property_types.get("propertyInt"), int.class); assertSame(property_types.get("propertyLong"), long.class); assertSame(property_types.get("propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesExcludedPrefix() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanImpl.class, null, new String[] {"PREFIX:propertyString", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyBoolean", "PREFIX:propertyFloat", "PREFIX:propertyBigDecimal"}, "PREFIX:"); assertEquals(property_types.size(), 10); assertTrue(property_types.containsKey("PREFIX:propertyStringbuffer")); assertTrue(property_types.containsKey("PREFIX:propertyDate")); assertTrue(property_types.containsKey("PREFIX:propertyTime")); assertTrue(property_types.containsKey("PREFIX:propertyTimestamp")); assertTrue(property_types.containsKey("PREFIX:propertyChar")); assertTrue(property_types.containsKey("PREFIX:propertyByte")); assertTrue(property_types.containsKey("PREFIX:propertyDouble")); assertTrue(property_types.containsKey("PREFIX:propertyInt")); assertTrue(property_types.containsKey("PREFIX:propertyLong")); assertTrue(property_types.containsKey("PREFIX:propertyShort")); assertSame(property_types.get("PREFIX:propertyStringbuffer"), StringBuffer.class); assertSame(property_types.get("PREFIX:propertyDate"), java.util.Date.class); assertSame(property_types.get("PREFIX:propertyTime"), java.sql.Time.class); assertSame(property_types.get("PREFIX:propertyTimestamp"), java.sql.Timestamp.class); assertSame(property_types.get("PREFIX:propertyChar"), char.class); assertSame(property_types.get("PREFIX:propertyByte"), byte.class); assertSame(property_types.get("PREFIX:propertyDouble"), double.class); assertSame(property_types.get("PREFIX:propertyInt"), int.class); assertSame(property_types.get("PREFIX:propertyLong"), long.class); assertSame(property_types.get("PREFIX:propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesExcludedPrefixGetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.GETTERS, BeanImpl.class, null, new String[] {"PREFIX:propertyString", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyBoolean", "PREFIX:propertyFloat", "PREFIX:propertyBigDecimal"}, "PREFIX:"); assertEquals(property_types.size(), 11); assertTrue(property_types.containsKey("PREFIX:propertyReadonly")); assertTrue(property_types.containsKey("PREFIX:propertyStringbuffer")); assertTrue(property_types.containsKey("PREFIX:propertyDate")); assertTrue(property_types.containsKey("PREFIX:propertyTime")); assertTrue(property_types.containsKey("PREFIX:propertyTimestamp")); assertTrue(property_types.containsKey("PREFIX:propertyChar")); assertTrue(property_types.containsKey("PREFIX:propertyByte")); assertTrue(property_types.containsKey("PREFIX:propertyDouble")); assertTrue(property_types.containsKey("PREFIX:propertyInt")); assertTrue(property_types.containsKey("PREFIX:propertyLong")); assertTrue(property_types.containsKey("PREFIX:propertyShort")); assertSame(property_types.get("PREFIX:propertyReadonly"), int.class); assertSame(property_types.get("PREFIX:propertyStringbuffer"), StringBuffer.class); assertSame(property_types.get("PREFIX:propertyDate"), java.util.Date.class); assertSame(property_types.get("PREFIX:propertyTime"), java.sql.Time.class); assertSame(property_types.get("PREFIX:propertyTimestamp"), java.sql.Timestamp.class); assertSame(property_types.get("PREFIX:propertyChar"), char.class); assertSame(property_types.get("PREFIX:propertyByte"), byte.class); assertSame(property_types.get("PREFIX:propertyDouble"), double.class); assertSame(property_types.get("PREFIX:propertyInt"), int.class); assertSame(property_types.get("PREFIX:propertyLong"), long.class); assertSame(property_types.get("PREFIX:propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesExcludedPrefixSetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.SETTERS, BeanImpl.class, null, new String[] {"PREFIX:propertyString", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyBoolean", "PREFIX:propertyFloat", "PREFIX:propertyBigDecimal"}, "PREFIX:"); assertEquals(property_types.size(), 11); assertTrue(property_types.containsKey("PREFIX:propertyWriteonly")); assertTrue(property_types.containsKey("PREFIX:propertyStringbuffer")); assertTrue(property_types.containsKey("PREFIX:propertyDate")); assertTrue(property_types.containsKey("PREFIX:propertyTime")); assertTrue(property_types.containsKey("PREFIX:propertyTimestamp")); assertTrue(property_types.containsKey("PREFIX:propertyChar")); assertTrue(property_types.containsKey("PREFIX:propertyByte")); assertTrue(property_types.containsKey("PREFIX:propertyDouble")); assertTrue(property_types.containsKey("PREFIX:propertyInt")); assertTrue(property_types.containsKey("PREFIX:propertyLong")); assertTrue(property_types.containsKey("PREFIX:propertyShort")); assertSame(property_types.get("PREFIX:propertyWriteonly"), long.class); assertSame(property_types.get("PREFIX:propertyStringbuffer"), StringBuffer.class); assertSame(property_types.get("PREFIX:propertyDate"), java.util.Date.class); assertSame(property_types.get("PREFIX:propertyTime"), java.sql.Time.class); assertSame(property_types.get("PREFIX:propertyTimestamp"), java.sql.Timestamp.class); assertSame(property_types.get("PREFIX:propertyChar"), char.class); assertSame(property_types.get("PREFIX:propertyByte"), byte.class); assertSame(property_types.get("PREFIX:propertyDouble"), double.class); assertSame(property_types.get("PREFIX:propertyInt"), int.class); assertSame(property_types.get("PREFIX:propertyLong"), long.class); assertSame(property_types.get("PREFIX:propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesFiltered() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyString", "propertyDate", "propertySqlDate", "propertyTime", "propertyByte", "propertyFloat", "propertyShort"}, new String[] {"propertyString", "propertyCalendar", "propertySqlDate", "propertyBoolean", "propertyFloat", "propertyBigDecimal"}, null); assertEquals(property_types.size(), 4); assertTrue(property_types.containsKey("propertyDate")); assertTrue(property_types.containsKey("propertyTime")); assertTrue(property_types.containsKey("propertyByte")); assertTrue(property_types.containsKey("propertyShort")); assertSame(property_types.get("propertyDate"), java.util.Date.class); assertSame(property_types.get("propertyTime"), java.sql.Time.class); assertSame(property_types.get("propertyByte"), byte.class); assertSame(property_types.get("propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesFilteredGetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.GETTERS, BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyString", "propertyDate", "propertySqlDate", "propertyTime", "propertyByte", "propertyFloat", "propertyShort"}, new String[] {"propertyString", "propertyCalendar", "propertySqlDate", "propertyBoolean", "propertyFloat", "propertyBigDecimal"}, null); assertEquals(property_types.size(), 5); assertTrue(property_types.containsKey("propertyReadonly")); assertTrue(property_types.containsKey("propertyDate")); assertTrue(property_types.containsKey("propertyTime")); assertTrue(property_types.containsKey("propertyByte")); assertTrue(property_types.containsKey("propertyShort")); assertSame(property_types.get("propertyReadonly"), int.class); assertSame(property_types.get("propertyDate"), java.util.Date.class); assertSame(property_types.get("propertyTime"), java.sql.Time.class); assertSame(property_types.get("propertyByte"), byte.class); assertSame(property_types.get("propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesFilteredSetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.SETTERS, BeanImpl.class, new String[] {"propertyReadonly", "propertyWriteonly", "propertyString", "propertyDate", "propertySqlDate", "propertyTime", "propertyByte", "propertyFloat", "propertyShort"}, new String[] {"propertyString", "propertyCalendar", "propertySqlDate", "propertyBoolean", "propertyFloat", "propertyBigDecimal"}, null); assertEquals(property_types.size(), 5); assertTrue(property_types.containsKey("propertyWriteonly")); assertTrue(property_types.containsKey("propertyDate")); assertTrue(property_types.containsKey("propertyTime")); assertTrue(property_types.containsKey("propertyByte")); assertTrue(property_types.containsKey("propertyShort")); assertSame(property_types.get("propertyWriteonly"), long.class); assertSame(property_types.get("propertyDate"), java.util.Date.class); assertSame(property_types.get("propertyTime"), java.sql.Time.class); assertSame(property_types.get("propertyByte"), byte.class); assertSame(property_types.get("propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesFilteredPrefix() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyString", "PREFIX:propertyDate", "PREFIX:propertySqlDate", "PREFIX:propertyTime", "PREFIX:propertyByte", "PREFIX:propertyFloat", "PREFIX:propertyShort"}, new String[] {"PREFIX:propertyString", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyBoolean", "PREFIX:propertyFloat", "PREFIX:propertyBigDecimal"}, "PREFIX:"); assertEquals(property_types.size(), 4); assertTrue(property_types.containsKey("PREFIX:propertyDate")); assertTrue(property_types.containsKey("PREFIX:propertyTime")); assertTrue(property_types.containsKey("PREFIX:propertyByte")); assertTrue(property_types.containsKey("PREFIX:propertyShort")); assertSame(property_types.get("PREFIX:propertyDate"), java.util.Date.class); assertSame(property_types.get("PREFIX:propertyTime"), java.sql.Time.class); assertSame(property_types.get("PREFIX:propertyByte"), byte.class); assertSame(property_types.get("PREFIX:propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesFilteredPrefixGetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.GETTERS, BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyString", "PREFIX:propertyDate", "PREFIX:propertySqlDate", "PREFIX:propertyTime", "PREFIX:propertyByte", "PREFIX:propertyFloat", "PREFIX:propertyShort"}, new String[] {"PREFIX:propertyString", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyBoolean", "PREFIX:propertyFloat", "PREFIX:propertyBigDecimal"}, "PREFIX:"); assertEquals(property_types.size(), 5); assertTrue(property_types.containsKey("PREFIX:propertyReadonly")); assertTrue(property_types.containsKey("PREFIX:propertyDate")); assertTrue(property_types.containsKey("PREFIX:propertyTime")); assertTrue(property_types.containsKey("PREFIX:propertyByte")); assertTrue(property_types.containsKey("PREFIX:propertyShort")); assertSame(property_types.get("PREFIX:propertyReadonly"), int.class); assertSame(property_types.get("PREFIX:propertyDate"), java.util.Date.class); assertSame(property_types.get("PREFIX:propertyTime"), java.sql.Time.class); assertSame(property_types.get("PREFIX:propertyByte"), byte.class); assertSame(property_types.get("PREFIX:propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testPropertyTypesFilteredPrefixSetters() { try { Map<String, Class> property_types = BeanUtils.getPropertyTypes(BeanUtils.SETTERS, BeanImpl.class, new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyString", "PREFIX:propertyDate", "PREFIX:propertySqlDate", "PREFIX:propertyTime", "PREFIX:propertyByte", "PREFIX:propertyFloat", "PREFIX:propertyShort"}, new String[] {"PREFIX:propertyString", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyBoolean", "PREFIX:propertyFloat", "PREFIX:propertyBigDecimal"}, "PREFIX:"); assertEquals(property_types.size(), 5); assertTrue(property_types.containsKey("PREFIX:propertyWriteonly")); assertTrue(property_types.containsKey("PREFIX:propertyDate")); assertTrue(property_types.containsKey("PREFIX:propertyTime")); assertTrue(property_types.containsKey("PREFIX:propertyByte")); assertTrue(property_types.containsKey("PREFIX:propertyShort")); assertSame(property_types.get("PREFIX:propertyWriteonly"), long.class); assertSame(property_types.get("PREFIX:propertyDate"), java.util.Date.class); assertSame(property_types.get("PREFIX:propertyTime"), java.sql.Time.class); assertSame(property_types.get("PREFIX:propertyByte"), byte.class); assertSame(property_types.get("PREFIX:propertyShort"), short.class); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValueIllegal() { try { BeanUtils.getPropertyValue(null, null); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } try { BeanUtils.getPropertyValue(Object.class, null); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } try { BeanUtils.getPropertyValue(new Object(), null); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } try { BeanUtils.getPropertyValue(new Object(), ""); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValue() { Object bean = getPopulatedBean(); try { Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(BeanUtils.getPropertyValue(bean, "propertyString"), "thisisastring"); assertEquals(BeanUtils.getPropertyValue(bean, "propertyStringbuffer").toString(), new StringBuffer("butthisisastringbuffer").toString()); assertEquals(BeanUtils.getPropertyValue(bean, "propertyDate"), cal.getTime()); assertEquals(BeanUtils.getPropertyValue(bean, "propertyCalendar"), cal); assertEquals(BeanUtils.getPropertyValue(bean, "propertySqlDate"), new java.sql.Date(cal.getTime().getTime())); assertEquals(BeanUtils.getPropertyValue(bean, "propertyTime"), new Time(cal.getTime().getTime())); assertEquals(BeanUtils.getPropertyValue(bean, "propertyTimestamp"), new Timestamp(cal.getTime().getTime())); assertEquals(BeanUtils.getPropertyValue(bean, "propertyChar"), new Character('g')); assertEquals(BeanUtils.getPropertyValue(bean, "propertyBoolean"), new Boolean(false)); assertEquals(BeanUtils.getPropertyValue(bean, "propertyByte"), new Byte((byte)53)); assertEquals(BeanUtils.getPropertyValue(bean, "propertyDouble"), new Double(84578.42d)); assertEquals(BeanUtils.getPropertyValue(bean, "propertyFloat"), new Float(35523.967f)); assertEquals(BeanUtils.getPropertyValue(bean, "propertyInt"), new Integer(978)); assertEquals(BeanUtils.getPropertyValue(bean, "propertyLong"), new Long(87346L)); assertEquals(BeanUtils.getPropertyValue(bean, "propertyShort"), new Short((short)31)); assertEquals(BeanUtils.getPropertyValue(bean, "propertyBigDecimal"), new BigDecimal("8347365990.387437894678")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } try { BeanUtils.getPropertyValue(bean, "unknown"); fail(); } catch (BeanUtilsException e) { assertSame(e.getBeanClass(), bean.getClass()); } } public void testSetPropertyValue() { BeanImpl bean = new BeanImpl(); try { Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); BeanUtils.setPropertyValue(bean, "propertyString", "thisisastring"); BeanUtils.setPropertyValue(bean, "propertyStringbuffer", new StringBuffer("butthisisastringbuffer")); BeanUtils.setPropertyValue(bean, "propertyDate", cal.getTime()); BeanUtils.setPropertyValue(bean, "propertyCalendar", cal); BeanUtils.setPropertyValue(bean, "propertySqlDate", new java.sql.Date(cal.getTime().getTime())); BeanUtils.setPropertyValue(bean, "propertyTime", new Time(cal.getTime().getTime())); BeanUtils.setPropertyValue(bean, "propertyTimestamp", new Timestamp(cal.getTime().getTime())); BeanUtils.setPropertyValue(bean, "propertyChar", new Character('g')); BeanUtils.setPropertyValue(bean, "propertyBoolean", new Boolean(false)); BeanUtils.setPropertyValue(bean, "propertyByte", new Byte((byte)53)); BeanUtils.setPropertyValue(bean, "propertyDouble", new Double(84578.42d)); BeanUtils.setPropertyValue(bean, "propertyFloat", new Float(35523.967f)); BeanUtils.setPropertyValue(bean, "propertyInt", new Integer(978)); BeanUtils.setPropertyValue(bean, "propertyLong", new Long(87346L)); BeanUtils.setPropertyValue(bean, "propertyShort", new Short((short)31)); BeanUtils.setPropertyValue(bean, "propertyBigDecimal", new BigDecimal("8347365990.387437894678")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } BeanImpl populated = getPopulatedBean(); assertEquals(bean.getPropertyString(), populated.getPropertyString()); assertEquals(bean.getPropertyStringbuffer().toString(), populated.getPropertyStringbuffer().toString()); assertEquals(bean.getPropertyDate(), populated.getPropertyDate()); assertEquals(bean.getPropertyCalendar(), populated.getPropertyCalendar()); assertEquals(bean.getPropertySqlDate(), populated.getPropertySqlDate()); assertEquals(bean.getPropertyTime(), populated.getPropertyTime()); assertEquals(bean.getPropertyTimestamp(), populated.getPropertyTimestamp()); assertEquals(bean.getPropertyChar(), populated.getPropertyChar()); assertEquals(bean.isPropertyBoolean(), populated.isPropertyBoolean()); assertEquals(bean.getPropertyByte(), populated.getPropertyByte()); assertEquals(bean.getPropertyDouble(), populated.getPropertyDouble()); assertEquals(bean.getPropertyFloat(), populated.getPropertyFloat()); assertEquals(bean.getPropertyInt(), populated.getPropertyInt()); assertEquals(bean.getPropertyLong(), populated.getPropertyLong()); assertEquals(bean.getPropertyShort(), populated.getPropertyShort()); assertEquals(bean.getPropertyBigDecimal(), populated.getPropertyBigDecimal()); try { BeanUtils.setPropertyValue(bean, "unknown", "ok"); fail(); } catch (BeanUtilsException e) { assertSame(e.getBeanClass(), bean.getClass()); } } public void testGetPropertyValuesIllegal() { try { assertEquals(0, BeanUtils.getPropertyValues(null, null, null, null).size()); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } try { BeanUtils.getPropertyValues(Object.class, null, null, null); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValues() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(getPopulatedBean(), null, null, null); assertEquals(property_values.size(), 16); assertTrue(property_values.containsKey("propertyString")); assertTrue(property_values.containsKey("propertyStringbuffer")); assertTrue(property_values.containsKey("propertyDate")); assertTrue(property_values.containsKey("propertyCalendar")); assertTrue(property_values.containsKey("propertySqlDate")); assertTrue(property_values.containsKey("propertyTime")); assertTrue(property_values.containsKey("propertyTimestamp")); assertTrue(property_values.containsKey("propertyChar")); assertTrue(property_values.containsKey("propertyBoolean")); assertTrue(property_values.containsKey("propertyByte")); assertTrue(property_values.containsKey("propertyDouble")); assertTrue(property_values.containsKey("propertyFloat")); assertTrue(property_values.containsKey("propertyInt")); assertTrue(property_values.containsKey("propertyLong")); assertTrue(property_values.containsKey("propertyShort")); assertTrue(property_values.containsKey("propertyBigDecimal")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("propertyString"), "thisisastring"); assertEquals(property_values.get("propertyStringbuffer").toString(), new StringBuffer("butthisisastringbuffer").toString()); assertEquals(property_values.get("propertyDate"), cal.getTime()); assertEquals(property_values.get("propertyCalendar"), cal); assertEquals(property_values.get("propertySqlDate"), new java.sql.Date(cal.getTime().getTime())); assertEquals(property_values.get("propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("propertyTimestamp"), new Timestamp(cal.getTime().getTime())); assertEquals(property_values.get("propertyChar"), new Character('g')); assertEquals(property_values.get("propertyBoolean"), new Boolean(false)); assertEquals(property_values.get("propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("propertyDouble"), new Double(84578.42d)); assertEquals(property_values.get("propertyFloat"), new Float(35523.967f)); assertEquals(property_values.get("propertyInt"), new Integer(978)); assertEquals(property_values.get("propertyLong"), new Long(87346L)); assertEquals(property_values.get("propertyShort"), new Short((short)31)); assertEquals(property_values.get("propertyBigDecimal"), new BigDecimal("8347365990.387437894678")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesGetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.GETTERS, getPopulatedBean(), null, null, null); assertEquals(property_values.size(), 17); assertTrue(property_values.containsKey("propertyReadonly")); assertTrue(property_values.containsKey("propertyString")); assertTrue(property_values.containsKey("propertyStringbuffer")); assertTrue(property_values.containsKey("propertyDate")); assertTrue(property_values.containsKey("propertyCalendar")); assertTrue(property_values.containsKey("propertySqlDate")); assertTrue(property_values.containsKey("propertyTime")); assertTrue(property_values.containsKey("propertyTimestamp")); assertTrue(property_values.containsKey("propertyChar")); assertTrue(property_values.containsKey("propertyBoolean")); assertTrue(property_values.containsKey("propertyByte")); assertTrue(property_values.containsKey("propertyDouble")); assertTrue(property_values.containsKey("propertyFloat")); assertTrue(property_values.containsKey("propertyInt")); assertTrue(property_values.containsKey("propertyLong")); assertTrue(property_values.containsKey("propertyShort")); assertTrue(property_values.containsKey("propertyBigDecimal")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("propertyReadonly"), 23); assertEquals(property_values.get("propertyString"), "thisisastring"); assertEquals(property_values.get("propertyStringbuffer").toString(), new StringBuffer("butthisisastringbuffer").toString()); assertEquals(property_values.get("propertyDate"), cal.getTime()); assertEquals(property_values.get("propertyCalendar"), cal); assertEquals(property_values.get("propertySqlDate"), new java.sql.Date(cal.getTime().getTime())); assertEquals(property_values.get("propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("propertyTimestamp"), new Timestamp(cal.getTime().getTime())); assertEquals(property_values.get("propertyChar"), new Character('g')); assertEquals(property_values.get("propertyBoolean"), new Boolean(false)); assertEquals(property_values.get("propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("propertyDouble"), new Double(84578.42d)); assertEquals(property_values.get("propertyFloat"), new Float(35523.967f)); assertEquals(property_values.get("propertyInt"), new Integer(978)); assertEquals(property_values.get("propertyLong"), new Long(87346L)); assertEquals(property_values.get("propertyShort"), new Short((short)31)); assertEquals(property_values.get("propertyBigDecimal"), new BigDecimal("8347365990.387437894678")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesSetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.SETTERS, getPopulatedBean(), null, null, null); assertEquals(property_values.size(), 16); assertTrue(property_values.containsKey("propertyString")); assertTrue(property_values.containsKey("propertyStringbuffer")); assertTrue(property_values.containsKey("propertyDate")); assertTrue(property_values.containsKey("propertyCalendar")); assertTrue(property_values.containsKey("propertySqlDate")); assertTrue(property_values.containsKey("propertyTime")); assertTrue(property_values.containsKey("propertyTimestamp")); assertTrue(property_values.containsKey("propertyChar")); assertTrue(property_values.containsKey("propertyBoolean")); assertTrue(property_values.containsKey("propertyByte")); assertTrue(property_values.containsKey("propertyDouble")); assertTrue(property_values.containsKey("propertyFloat")); assertTrue(property_values.containsKey("propertyInt")); assertTrue(property_values.containsKey("propertyLong")); assertTrue(property_values.containsKey("propertyShort")); assertTrue(property_values.containsKey("propertyBigDecimal")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("propertyString"), "thisisastring"); assertEquals(property_values.get("propertyStringbuffer").toString(), new StringBuffer("butthisisastringbuffer").toString()); assertEquals(property_values.get("propertyDate"), cal.getTime()); assertEquals(property_values.get("propertyCalendar"), cal); assertEquals(property_values.get("propertySqlDate"), new java.sql.Date(cal.getTime().getTime())); assertEquals(property_values.get("propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("propertyTimestamp"), new Timestamp(cal.getTime().getTime())); assertEquals(property_values.get("propertyChar"), new Character('g')); assertEquals(property_values.get("propertyBoolean"), new Boolean(false)); assertEquals(property_values.get("propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("propertyDouble"), new Double(84578.42d)); assertEquals(property_values.get("propertyFloat"), new Float(35523.967f)); assertEquals(property_values.get("propertyInt"), new Integer(978)); assertEquals(property_values.get("propertyLong"), new Long(87346L)); assertEquals(property_values.get("propertyShort"), new Short((short)31)); assertEquals(property_values.get("propertyBigDecimal"), new BigDecimal("8347365990.387437894678")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesPrefix() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(getPopulatedBean(), null, null, "PREFIX:"); assertEquals(property_values.size(), 16); assertTrue(property_values.containsKey("PREFIX:propertyString")); assertTrue(property_values.containsKey("PREFIX:propertyStringbuffer")); assertTrue(property_values.containsKey("PREFIX:propertyDate")); assertTrue(property_values.containsKey("PREFIX:propertyCalendar")); assertTrue(property_values.containsKey("PREFIX:propertySqlDate")); assertTrue(property_values.containsKey("PREFIX:propertyTime")); assertTrue(property_values.containsKey("PREFIX:propertyTimestamp")); assertTrue(property_values.containsKey("PREFIX:propertyChar")); assertTrue(property_values.containsKey("PREFIX:propertyBoolean")); assertTrue(property_values.containsKey("PREFIX:propertyByte")); assertTrue(property_values.containsKey("PREFIX:propertyDouble")); assertTrue(property_values.containsKey("PREFIX:propertyFloat")); assertTrue(property_values.containsKey("PREFIX:propertyInt")); assertTrue(property_values.containsKey("PREFIX:propertyLong")); assertTrue(property_values.containsKey("PREFIX:propertyShort")); assertTrue(property_values.containsKey("PREFIX:propertyBigDecimal")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("PREFIX:propertyString"), "thisisastring"); assertEquals(property_values.get("PREFIX:propertyStringbuffer").toString(), new StringBuffer("butthisisastringbuffer").toString()); assertEquals(property_values.get("PREFIX:propertyDate"), cal.getTime()); assertEquals(property_values.get("PREFIX:propertyCalendar"), cal); assertEquals(property_values.get("PREFIX:propertySqlDate"), new java.sql.Date(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyTimestamp"), new Timestamp(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyChar"), new Character('g')); assertEquals(property_values.get("PREFIX:propertyBoolean"), new Boolean(false)); assertEquals(property_values.get("PREFIX:propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("PREFIX:propertyDouble"), new Double(84578.42d)); assertEquals(property_values.get("PREFIX:propertyFloat"), new Float(35523.967f)); assertEquals(property_values.get("PREFIX:propertyInt"), new Integer(978)); assertEquals(property_values.get("PREFIX:propertyLong"), new Long(87346L)); assertEquals(property_values.get("PREFIX:propertyShort"), new Short((short)31)); assertEquals(property_values.get("PREFIX:propertyBigDecimal"), new BigDecimal("8347365990.387437894678")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesPrefixGetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.GETTERS, getPopulatedBean(), null, null, "PREFIX:"); assertEquals(property_values.size(), 17); assertTrue(property_values.containsKey("PREFIX:propertyReadonly")); assertTrue(property_values.containsKey("PREFIX:propertyString")); assertTrue(property_values.containsKey("PREFIX:propertyStringbuffer")); assertTrue(property_values.containsKey("PREFIX:propertyDate")); assertTrue(property_values.containsKey("PREFIX:propertyCalendar")); assertTrue(property_values.containsKey("PREFIX:propertySqlDate")); assertTrue(property_values.containsKey("PREFIX:propertyTime")); assertTrue(property_values.containsKey("PREFIX:propertyTimestamp")); assertTrue(property_values.containsKey("PREFIX:propertyChar")); assertTrue(property_values.containsKey("PREFIX:propertyBoolean")); assertTrue(property_values.containsKey("PREFIX:propertyByte")); assertTrue(property_values.containsKey("PREFIX:propertyDouble")); assertTrue(property_values.containsKey("PREFIX:propertyFloat")); assertTrue(property_values.containsKey("PREFIX:propertyInt")); assertTrue(property_values.containsKey("PREFIX:propertyLong")); assertTrue(property_values.containsKey("PREFIX:propertyShort")); assertTrue(property_values.containsKey("PREFIX:propertyBigDecimal")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("PREFIX:propertyReadonly"), 23); assertEquals(property_values.get("PREFIX:propertyString"), "thisisastring"); assertEquals(property_values.get("PREFIX:propertyStringbuffer").toString(), new StringBuffer("butthisisastringbuffer").toString()); assertEquals(property_values.get("PREFIX:propertyDate"), cal.getTime()); assertEquals(property_values.get("PREFIX:propertyCalendar"), cal); assertEquals(property_values.get("PREFIX:propertySqlDate"), new java.sql.Date(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyTimestamp"), new Timestamp(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyChar"), new Character('g')); assertEquals(property_values.get("PREFIX:propertyBoolean"), new Boolean(false)); assertEquals(property_values.get("PREFIX:propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("PREFIX:propertyDouble"), new Double(84578.42d)); assertEquals(property_values.get("PREFIX:propertyFloat"), new Float(35523.967f)); assertEquals(property_values.get("PREFIX:propertyInt"), new Integer(978)); assertEquals(property_values.get("PREFIX:propertyLong"), new Long(87346L)); assertEquals(property_values.get("PREFIX:propertyShort"), new Short((short)31)); assertEquals(property_values.get("PREFIX:propertyBigDecimal"), new BigDecimal("8347365990.387437894678")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesPrefixSetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.SETTERS, getPopulatedBean(), null, null, "PREFIX:"); assertEquals(property_values.size(), 16); assertTrue(property_values.containsKey("PREFIX:propertyString")); assertTrue(property_values.containsKey("PREFIX:propertyStringbuffer")); assertTrue(property_values.containsKey("PREFIX:propertyDate")); assertTrue(property_values.containsKey("PREFIX:propertyCalendar")); assertTrue(property_values.containsKey("PREFIX:propertySqlDate")); assertTrue(property_values.containsKey("PREFIX:propertyTime")); assertTrue(property_values.containsKey("PREFIX:propertyTimestamp")); assertTrue(property_values.containsKey("PREFIX:propertyChar")); assertTrue(property_values.containsKey("PREFIX:propertyBoolean")); assertTrue(property_values.containsKey("PREFIX:propertyByte")); assertTrue(property_values.containsKey("PREFIX:propertyDouble")); assertTrue(property_values.containsKey("PREFIX:propertyFloat")); assertTrue(property_values.containsKey("PREFIX:propertyInt")); assertTrue(property_values.containsKey("PREFIX:propertyLong")); assertTrue(property_values.containsKey("PREFIX:propertyShort")); assertTrue(property_values.containsKey("PREFIX:propertyBigDecimal")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("PREFIX:propertyString"), "thisisastring"); assertEquals(property_values.get("PREFIX:propertyStringbuffer").toString(), new StringBuffer("butthisisastringbuffer").toString()); assertEquals(property_values.get("PREFIX:propertyDate"), cal.getTime()); assertEquals(property_values.get("PREFIX:propertyCalendar"), cal); assertEquals(property_values.get("PREFIX:propertySqlDate"), new java.sql.Date(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyTimestamp"), new Timestamp(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyChar"), new Character('g')); assertEquals(property_values.get("PREFIX:propertyBoolean"), new Boolean(false)); assertEquals(property_values.get("PREFIX:propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("PREFIX:propertyDouble"), new Double(84578.42d)); assertEquals(property_values.get("PREFIX:propertyFloat"), new Float(35523.967f)); assertEquals(property_values.get("PREFIX:propertyInt"), new Integer(978)); assertEquals(property_values.get("PREFIX:propertyLong"), new Long(87346L)); assertEquals(property_values.get("PREFIX:propertyShort"), new Short((short)31)); assertEquals(property_values.get("PREFIX:propertyBigDecimal"), new BigDecimal("8347365990.387437894678")); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesIncluded() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(getPopulatedBean(), new String[] {"propertyReadonly", "propertyWriteonly", "propertyString", "propertyDate", "propertySqlDate", "propertyTime", "propertyByte", "propertyFloat", "propertyShort"}, null, null); assertEquals(property_values.size(), 7); assertTrue(property_values.containsKey("propertyString")); assertTrue(property_values.containsKey("propertyDate")); assertTrue(property_values.containsKey("propertySqlDate")); assertTrue(property_values.containsKey("propertyTime")); assertTrue(property_values.containsKey("propertyByte")); assertTrue(property_values.containsKey("propertyFloat")); assertTrue(property_values.containsKey("propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("propertyString"), "thisisastring"); assertEquals(property_values.get("propertyDate"), cal.getTime()); assertEquals(property_values.get("propertySqlDate"), new java.sql.Date(cal.getTime().getTime())); assertEquals(property_values.get("propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("propertyFloat"), new Float(35523.967f)); assertEquals(property_values.get("propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesIncludedGetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.GETTERS, getPopulatedBean(), new String[] {"propertyReadonly", "propertyWriteonly", "propertyString", "propertyDate", "propertySqlDate", "propertyTime", "propertyByte", "propertyFloat", "propertyShort"}, null, null); assertEquals(property_values.size(), 8); assertTrue(property_values.containsKey("propertyReadonly")); assertTrue(property_values.containsKey("propertyString")); assertTrue(property_values.containsKey("propertyDate")); assertTrue(property_values.containsKey("propertySqlDate")); assertTrue(property_values.containsKey("propertyTime")); assertTrue(property_values.containsKey("propertyByte")); assertTrue(property_values.containsKey("propertyFloat")); assertTrue(property_values.containsKey("propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("propertyReadonly"), 23); assertEquals(property_values.get("propertyString"), "thisisastring"); assertEquals(property_values.get("propertyDate"), cal.getTime()); assertEquals(property_values.get("propertySqlDate"), new java.sql.Date(cal.getTime().getTime())); assertEquals(property_values.get("propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("propertyFloat"), new Float(35523.967f)); assertEquals(property_values.get("propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesIncludedSetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.SETTERS, getPopulatedBean(), new String[] {"propertyReadonly", "propertyWriteonly", "propertyString", "propertyDate", "propertySqlDate", "propertyTime", "propertyByte", "propertyFloat", "propertyShort"}, null, null); assertEquals(property_values.size(), 7); assertTrue(property_values.containsKey("propertyString")); assertTrue(property_values.containsKey("propertyDate")); assertTrue(property_values.containsKey("propertySqlDate")); assertTrue(property_values.containsKey("propertyTime")); assertTrue(property_values.containsKey("propertyByte")); assertTrue(property_values.containsKey("propertyFloat")); assertTrue(property_values.containsKey("propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("propertyString"), "thisisastring"); assertEquals(property_values.get("propertyDate"), cal.getTime()); assertEquals(property_values.get("propertySqlDate"), new java.sql.Date(cal.getTime().getTime())); assertEquals(property_values.get("propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("propertyFloat"), new Float(35523.967f)); assertEquals(property_values.get("propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesIncludedPrefix() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(getPopulatedBean(), new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyString", "PREFIX:propertyDate", "PREFIX:propertySqlDate", "PREFIX:propertyTime", "PREFIX:propertyByte", "PREFIX:propertyFloat", "PREFIX:propertyShort"}, null, "PREFIX:"); assertEquals(property_values.size(), 7); assertTrue(property_values.containsKey("PREFIX:propertyString")); assertTrue(property_values.containsKey("PREFIX:propertyDate")); assertTrue(property_values.containsKey("PREFIX:propertySqlDate")); assertTrue(property_values.containsKey("PREFIX:propertyTime")); assertTrue(property_values.containsKey("PREFIX:propertyByte")); assertTrue(property_values.containsKey("PREFIX:propertyFloat")); assertTrue(property_values.containsKey("PREFIX:propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("PREFIX:propertyString"), "thisisastring"); assertEquals(property_values.get("PREFIX:propertyDate"), cal.getTime()); assertEquals(property_values.get("PREFIX:propertySqlDate"), new java.sql.Date(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("PREFIX:propertyFloat"), new Float(35523.967f)); assertEquals(property_values.get("PREFIX:propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesIncludedPrefixGetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.GETTERS, getPopulatedBean(), new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyString", "PREFIX:propertyDate", "PREFIX:propertySqlDate", "PREFIX:propertyTime", "PREFIX:propertyByte", "PREFIX:propertyFloat", "PREFIX:propertyShort"}, null, "PREFIX:"); assertEquals(property_values.size(), 8); assertTrue(property_values.containsKey("PREFIX:propertyReadonly")); assertTrue(property_values.containsKey("PREFIX:propertyString")); assertTrue(property_values.containsKey("PREFIX:propertyDate")); assertTrue(property_values.containsKey("PREFIX:propertySqlDate")); assertTrue(property_values.containsKey("PREFIX:propertyTime")); assertTrue(property_values.containsKey("PREFIX:propertyByte")); assertTrue(property_values.containsKey("PREFIX:propertyFloat")); assertTrue(property_values.containsKey("PREFIX:propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("PREFIX:propertyReadonly"), 23); assertEquals(property_values.get("PREFIX:propertyString"), "thisisastring"); assertEquals(property_values.get("PREFIX:propertyDate"), cal.getTime()); assertEquals(property_values.get("PREFIX:propertySqlDate"), new java.sql.Date(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("PREFIX:propertyFloat"), new Float(35523.967f)); assertEquals(property_values.get("PREFIX:propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesIncludedPrefixSetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.SETTERS, getPopulatedBean(), new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyString", "PREFIX:propertyDate", "PREFIX:propertySqlDate", "PREFIX:propertyTime", "PREFIX:propertyByte", "PREFIX:propertyFloat", "PREFIX:propertyShort"}, null, "PREFIX:"); assertEquals(property_values.size(), 7); assertTrue(property_values.containsKey("PREFIX:propertyString")); assertTrue(property_values.containsKey("PREFIX:propertyDate")); assertTrue(property_values.containsKey("PREFIX:propertySqlDate")); assertTrue(property_values.containsKey("PREFIX:propertyTime")); assertTrue(property_values.containsKey("PREFIX:propertyByte")); assertTrue(property_values.containsKey("PREFIX:propertyFloat")); assertTrue(property_values.containsKey("PREFIX:propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("PREFIX:propertyString"), "thisisastring"); assertEquals(property_values.get("PREFIX:propertyDate"), cal.getTime()); assertEquals(property_values.get("PREFIX:propertySqlDate"), new java.sql.Date(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("PREFIX:propertyFloat"), new Float(35523.967f)); assertEquals(property_values.get("PREFIX:propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesExcluded() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(getPopulatedBean(), null, new String[] {"propertyString", "propertyCalendar", "propertySqlDate", "propertyBoolean", "propertyFloat", "propertyBigDecimal"}, null); assertEquals(property_values.size(), 10); assertTrue(property_values.containsKey("propertyStringbuffer")); assertTrue(property_values.containsKey("propertyDate")); assertTrue(property_values.containsKey("propertyTime")); assertTrue(property_values.containsKey("propertyTimestamp")); assertTrue(property_values.containsKey("propertyChar")); assertTrue(property_values.containsKey("propertyByte")); assertTrue(property_values.containsKey("propertyDouble")); assertTrue(property_values.containsKey("propertyInt")); assertTrue(property_values.containsKey("propertyLong")); assertTrue(property_values.containsKey("propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("propertyStringbuffer").toString(), new StringBuffer("butthisisastringbuffer").toString()); assertEquals(property_values.get("propertyDate"), cal.getTime()); assertEquals(property_values.get("propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("propertyTimestamp"), new Timestamp(cal.getTime().getTime())); assertEquals(property_values.get("propertyChar"), new Character('g')); assertEquals(property_values.get("propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("propertyDouble"), new Double(84578.42d)); assertEquals(property_values.get("propertyInt"), new Integer(978)); assertEquals(property_values.get("propertyLong"), new Long(87346L)); assertEquals(property_values.get("propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesExcludedGetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.GETTERS, getPopulatedBean(), null, new String[] {"propertyString", "propertyCalendar", "propertySqlDate", "propertyBoolean", "propertyFloat", "propertyBigDecimal"}, null); assertEquals(property_values.size(), 11); assertTrue(property_values.containsKey("propertyReadonly")); assertTrue(property_values.containsKey("propertyStringbuffer")); assertTrue(property_values.containsKey("propertyDate")); assertTrue(property_values.containsKey("propertyTime")); assertTrue(property_values.containsKey("propertyTimestamp")); assertTrue(property_values.containsKey("propertyChar")); assertTrue(property_values.containsKey("propertyByte")); assertTrue(property_values.containsKey("propertyDouble")); assertTrue(property_values.containsKey("propertyInt")); assertTrue(property_values.containsKey("propertyLong")); assertTrue(property_values.containsKey("propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("propertyReadonly"), 23); assertEquals(property_values.get("propertyStringbuffer").toString(), new StringBuffer("butthisisastringbuffer").toString()); assertEquals(property_values.get("propertyDate"), cal.getTime()); assertEquals(property_values.get("propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("propertyTimestamp"), new Timestamp(cal.getTime().getTime())); assertEquals(property_values.get("propertyChar"), new Character('g')); assertEquals(property_values.get("propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("propertyDouble"), new Double(84578.42d)); assertEquals(property_values.get("propertyInt"), new Integer(978)); assertEquals(property_values.get("propertyLong"), new Long(87346L)); assertEquals(property_values.get("propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesExcludedSetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.SETTERS, getPopulatedBean(), null, new String[] {"propertyString", "propertyCalendar", "propertySqlDate", "propertyBoolean", "propertyFloat", "propertyBigDecimal"}, null); assertEquals(property_values.size(), 10); assertTrue(property_values.containsKey("propertyStringbuffer")); assertTrue(property_values.containsKey("propertyDate")); assertTrue(property_values.containsKey("propertyTime")); assertTrue(property_values.containsKey("propertyTimestamp")); assertTrue(property_values.containsKey("propertyChar")); assertTrue(property_values.containsKey("propertyByte")); assertTrue(property_values.containsKey("propertyDouble")); assertTrue(property_values.containsKey("propertyInt")); assertTrue(property_values.containsKey("propertyLong")); assertTrue(property_values.containsKey("propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("propertyStringbuffer").toString(), new StringBuffer("butthisisastringbuffer").toString()); assertEquals(property_values.get("propertyDate"), cal.getTime()); assertEquals(property_values.get("propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("propertyTimestamp"), new Timestamp(cal.getTime().getTime())); assertEquals(property_values.get("propertyChar"), new Character('g')); assertEquals(property_values.get("propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("propertyDouble"), new Double(84578.42d)); assertEquals(property_values.get("propertyInt"), new Integer(978)); assertEquals(property_values.get("propertyLong"), new Long(87346L)); assertEquals(property_values.get("propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesExcludedPrefix() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(getPopulatedBean(), null, new String[] {"PREFIX:propertyString", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyBoolean", "PREFIX:propertyFloat", "PREFIX:propertyBigDecimal"}, "PREFIX:"); assertEquals(property_values.size(), 10); assertTrue(property_values.containsKey("PREFIX:propertyStringbuffer")); assertTrue(property_values.containsKey("PREFIX:propertyDate")); assertTrue(property_values.containsKey("PREFIX:propertyTime")); assertTrue(property_values.containsKey("PREFIX:propertyTimestamp")); assertTrue(property_values.containsKey("PREFIX:propertyChar")); assertTrue(property_values.containsKey("PREFIX:propertyByte")); assertTrue(property_values.containsKey("PREFIX:propertyDouble")); assertTrue(property_values.containsKey("PREFIX:propertyInt")); assertTrue(property_values.containsKey("PREFIX:propertyLong")); assertTrue(property_values.containsKey("PREFIX:propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("PREFIX:propertyStringbuffer").toString(), new StringBuffer("butthisisastringbuffer").toString()); assertEquals(property_values.get("PREFIX:propertyDate"), cal.getTime()); assertEquals(property_values.get("PREFIX:propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyTimestamp"), new Timestamp(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyChar"), new Character('g')); assertEquals(property_values.get("PREFIX:propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("PREFIX:propertyDouble"), new Double(84578.42d)); assertEquals(property_values.get("PREFIX:propertyInt"), new Integer(978)); assertEquals(property_values.get("PREFIX:propertyLong"), new Long(87346L)); assertEquals(property_values.get("PREFIX:propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesExcludedPrefixGetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.GETTERS, getPopulatedBean(), null, new String[] {"PREFIX:propertyString", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyBoolean", "PREFIX:propertyFloat", "PREFIX:propertyBigDecimal"}, "PREFIX:"); assertEquals(property_values.size(), 11); assertTrue(property_values.containsKey("PREFIX:propertyReadonly")); assertTrue(property_values.containsKey("PREFIX:propertyStringbuffer")); assertTrue(property_values.containsKey("PREFIX:propertyDate")); assertTrue(property_values.containsKey("PREFIX:propertyTime")); assertTrue(property_values.containsKey("PREFIX:propertyTimestamp")); assertTrue(property_values.containsKey("PREFIX:propertyChar")); assertTrue(property_values.containsKey("PREFIX:propertyByte")); assertTrue(property_values.containsKey("PREFIX:propertyDouble")); assertTrue(property_values.containsKey("PREFIX:propertyInt")); assertTrue(property_values.containsKey("PREFIX:propertyLong")); assertTrue(property_values.containsKey("PREFIX:propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("PREFIX:propertyReadonly"), 23); assertEquals(property_values.get("PREFIX:propertyStringbuffer").toString(), new StringBuffer("butthisisastringbuffer").toString()); assertEquals(property_values.get("PREFIX:propertyDate"), cal.getTime()); assertEquals(property_values.get("PREFIX:propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyTimestamp"), new Timestamp(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyChar"), new Character('g')); assertEquals(property_values.get("PREFIX:propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("PREFIX:propertyDouble"), new Double(84578.42d)); assertEquals(property_values.get("PREFIX:propertyInt"), new Integer(978)); assertEquals(property_values.get("PREFIX:propertyLong"), new Long(87346L)); assertEquals(property_values.get("PREFIX:propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesExcludedPrefixSetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.SETTERS, getPopulatedBean(), null, new String[] {"PREFIX:propertyString", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyBoolean", "PREFIX:propertyFloat", "PREFIX:propertyBigDecimal"}, "PREFIX:"); assertEquals(property_values.size(), 10); assertTrue(property_values.containsKey("PREFIX:propertyStringbuffer")); assertTrue(property_values.containsKey("PREFIX:propertyDate")); assertTrue(property_values.containsKey("PREFIX:propertyTime")); assertTrue(property_values.containsKey("PREFIX:propertyTimestamp")); assertTrue(property_values.containsKey("PREFIX:propertyChar")); assertTrue(property_values.containsKey("PREFIX:propertyByte")); assertTrue(property_values.containsKey("PREFIX:propertyDouble")); assertTrue(property_values.containsKey("PREFIX:propertyInt")); assertTrue(property_values.containsKey("PREFIX:propertyLong")); assertTrue(property_values.containsKey("PREFIX:propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("PREFIX:propertyStringbuffer").toString(), new StringBuffer("butthisisastringbuffer").toString()); assertEquals(property_values.get("PREFIX:propertyDate"), cal.getTime()); assertEquals(property_values.get("PREFIX:propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyTimestamp"), new Timestamp(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyChar"), new Character('g')); assertEquals(property_values.get("PREFIX:propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("PREFIX:propertyDouble"), new Double(84578.42d)); assertEquals(property_values.get("PREFIX:propertyInt"), new Integer(978)); assertEquals(property_values.get("PREFIX:propertyLong"), new Long(87346L)); assertEquals(property_values.get("PREFIX:propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesFiltered() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(getPopulatedBean(), new String[] {"propertyReadonly", "propertyWriteonly", "propertyString", "propertyDate", "propertySqlDate", "propertyTime", "propertyByte", "propertyFloat", "propertyShort"}, new String[] {"propertyString", "propertyCalendar", "propertySqlDate", "propertyBoolean", "propertyFloat", "propertyBigDecimal"}, null); assertEquals(property_values.size(), 4); assertTrue(property_values.containsKey("propertyDate")); assertTrue(property_values.containsKey("propertyTime")); assertTrue(property_values.containsKey("propertyByte")); assertTrue(property_values.containsKey("propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("propertyDate"), cal.getTime()); assertEquals(property_values.get("propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesFilteredGetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.GETTERS, getPopulatedBean(), new String[] {"propertyReadonly", "propertyWriteonly", "propertyString", "propertyDate", "propertySqlDate", "propertyTime", "propertyByte", "propertyFloat", "propertyShort"}, new String[] {"propertyString", "propertyCalendar", "propertySqlDate", "propertyBoolean", "propertyFloat", "propertyBigDecimal"}, null); assertEquals(property_values.size(), 5); assertTrue(property_values.containsKey("propertyReadonly")); assertTrue(property_values.containsKey("propertyDate")); assertTrue(property_values.containsKey("propertyTime")); assertTrue(property_values.containsKey("propertyByte")); assertTrue(property_values.containsKey("propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("propertyReadonly"), 23); assertEquals(property_values.get("propertyDate"), cal.getTime()); assertEquals(property_values.get("propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesFilteredSetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.SETTERS, getPopulatedBean(), new String[] {"propertyReadonly", "propertyWriteonly", "propertyString", "propertyDate", "propertySqlDate", "propertyTime", "propertyByte", "propertyFloat", "propertyShort"}, new String[] {"propertyString", "propertyCalendar", "propertySqlDate", "propertyBoolean", "propertyFloat", "propertyBigDecimal"}, null); assertEquals(property_values.size(), 4); assertTrue(property_values.containsKey("propertyDate")); assertTrue(property_values.containsKey("propertyTime")); assertTrue(property_values.containsKey("propertyByte")); assertTrue(property_values.containsKey("propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("propertyDate"), cal.getTime()); assertEquals(property_values.get("propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesFilteredPrefix() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(getPopulatedBean(), new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyString", "PREFIX:propertyDate", "PREFIX:propertySqlDate", "PREFIX:propertyTime", "PREFIX:propertyByte", "PREFIX:propertyFloat", "PREFIX:propertyShort"}, new String[] {"PREFIX:propertyString", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyBoolean", "PREFIX:propertyFloat", "PREFIX:propertyBigDecimal"}, "PREFIX:"); assertEquals(property_values.size(), 4); assertTrue(property_values.containsKey("PREFIX:propertyDate")); assertTrue(property_values.containsKey("PREFIX:propertyTime")); assertTrue(property_values.containsKey("PREFIX:propertyByte")); assertTrue(property_values.containsKey("PREFIX:propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("PREFIX:propertyDate"), cal.getTime()); assertEquals(property_values.get("PREFIX:propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("PREFIX:propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesFilteredPrefixGetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.GETTERS, getPopulatedBean(), new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyString", "PREFIX:propertyDate", "PREFIX:propertySqlDate", "PREFIX:propertyTime", "PREFIX:propertyByte", "PREFIX:propertyFloat", "PREFIX:propertyShort"}, new String[] {"PREFIX:propertyString", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyBoolean", "PREFIX:propertyFloat", "PREFIX:propertyBigDecimal"}, "PREFIX:"); assertEquals(property_values.size(), 5); assertTrue(property_values.containsKey("PREFIX:propertyReadonly")); assertTrue(property_values.containsKey("PREFIX:propertyDate")); assertTrue(property_values.containsKey("PREFIX:propertyTime")); assertTrue(property_values.containsKey("PREFIX:propertyByte")); assertTrue(property_values.containsKey("PREFIX:propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("PREFIX:propertyReadonly"), 23); assertEquals(property_values.get("PREFIX:propertyDate"), cal.getTime()); assertEquals(property_values.get("PREFIX:propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("PREFIX:propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testGetPropertyValuesFilteredPrefixSetters() { try { Map<String, Object> property_values = BeanUtils.getPropertyValues(BeanUtils.SETTERS, getPopulatedBean(), new String[] {"PREFIX:propertyReadonly", "PREFIX:propertyWriteonly", "PREFIX:propertyString", "PREFIX:propertyDate", "PREFIX:propertySqlDate", "PREFIX:propertyTime", "PREFIX:propertyByte", "PREFIX:propertyFloat", "PREFIX:propertyShort"}, new String[] {"PREFIX:propertyString", "PREFIX:propertyCalendar", "PREFIX:propertySqlDate", "PREFIX:propertyBoolean", "PREFIX:propertyFloat", "PREFIX:propertyBigDecimal"}, "PREFIX:"); assertEquals(property_values.size(), 4); assertTrue(property_values.containsKey("PREFIX:propertyDate")); assertTrue(property_values.containsKey("PREFIX:propertyTime")); assertTrue(property_values.containsKey("PREFIX:propertyByte")); assertTrue(property_values.containsKey("PREFIX:propertyShort")); Calendar cal = Calendar.getInstance(); cal.set(2002, 11, 26, 22, 52, 31); cal.set(Calendar.MILLISECOND, 153); assertEquals(property_values.get("PREFIX:propertyDate"), cal.getTime()); assertEquals(property_values.get("PREFIX:propertyTime"), new Time(cal.getTime().getTime())); assertEquals(property_values.get("PREFIX:propertyByte"), new Byte((byte)53)); assertEquals(property_values.get("PREFIX:propertyShort"), new Short((short)31)); } catch (BeanUtilsException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } }