⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dynabeanutilstestcase.java

📁 apache beanutils开源项目源码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
        bean.set("nullProperty", "non-null value");        BeanUtils.setProperty(bean, "nullProperty", null);        assertNull("nullProperty is null", bean.get("nullProperty"));    }    /**     * Test narrowing and widening conversions on byte.     */    public void testCopyPropertyByte() throws Exception {        BeanUtils.setProperty(bean, "byteProperty", new Byte((byte) 123));        assertEquals((byte) 123, ((Byte) bean.get("byteProperty")).byteValue());/*        BeanUtils.setProperty(bean, "byteProperty", new Double((double) 123));        assertEquals((byte) 123, ((Byte) bean.get("byteProperty")).byteValue());        BeanUtils.setProperty(bean, "byteProperty", new Float((float) 123));        assertEquals((byte) 123, ((Byte) bean.get("byteProperty")).byteValue());*/        BeanUtils.setProperty(bean, "byteProperty", new Integer((int) 123));        assertEquals((byte) 123, ((Byte) bean.get("byteProperty")).byteValue());        BeanUtils.setProperty(bean, "byteProperty", new Long((long) 123));        assertEquals((byte) 123, ((Byte) bean.get("byteProperty")).byteValue());        BeanUtils.setProperty(bean, "byteProperty", new Short((short) 123));        assertEquals((byte) 123, ((Byte) bean.get("byteProperty")).byteValue());    }    /**     * Test narrowing and widening conversions on double.     */    public void testCopyPropertyDouble() throws Exception {        BeanUtils.setProperty(bean, "doubleProperty", new Byte((byte) 123));        assertEquals((double) 123, ((Double) bean.get("doubleProperty")).doubleValue(), 0.005);        BeanUtils.setProperty(bean, "doubleProperty", new Double((double) 123));        assertEquals((double) 123, ((Double) bean.get("doubleProperty")).doubleValue(), 0.005);        BeanUtils.setProperty(bean, "doubleProperty", new Float((float) 123));        assertEquals((double) 123, ((Double) bean.get("doubleProperty")).doubleValue(), 0.005);        BeanUtils.setProperty(bean, "doubleProperty", new Integer((int) 123));        assertEquals((double) 123, ((Double) bean.get("doubleProperty")).doubleValue(), 0.005);        BeanUtils.setProperty(bean, "doubleProperty", new Long((long) 123));        assertEquals((double) 123, ((Double) bean.get("doubleProperty")).doubleValue(), 0.005);        BeanUtils.setProperty(bean, "doubleProperty", new Short((short) 123));        assertEquals((double) 123, ((Double) bean.get("doubleProperty")).doubleValue(), 0.005);    }    /**     * Test narrowing and widening conversions on float.     */    public void testCopyPropertyFloat() throws Exception {        BeanUtils.setProperty(bean, "floatProperty", new Byte((byte) 123));        assertEquals((float) 123, ((Float) bean.get("floatProperty")).floatValue(), 0.005);        BeanUtils.setProperty(bean, "floatProperty", new Double((double) 123));        assertEquals((float) 123, ((Float) bean.get("floatProperty")).floatValue(), 0.005);        BeanUtils.setProperty(bean, "floatProperty", new Float((float) 123));        assertEquals((float) 123, ((Float) bean.get("floatProperty")).floatValue(), 0.005);        BeanUtils.setProperty(bean, "floatProperty", new Integer((int) 123));        assertEquals((float) 123, ((Float) bean.get("floatProperty")).floatValue(), 0.005);        BeanUtils.setProperty(bean, "floatProperty", new Long((long) 123));        assertEquals((float) 123, ((Float) bean.get("floatProperty")).floatValue(), 0.005);        BeanUtils.setProperty(bean, "floatProperty", new Short((short) 123));        assertEquals((float) 123, ((Float) bean.get("floatProperty")).floatValue(), 0.005);    }    /**     * Test narrowing and widening conversions on int.     */    public void testCopyPropertyInteger() throws Exception {        BeanUtils.setProperty(bean, "longProperty", new Byte((byte) 123));        assertEquals((int) 123, ((Integer) bean.get("intProperty")).intValue());/*        BeanUtils.setProperty(bean, "longProperty", new Double((double) 123));        assertEquals((int) 123, ((Integer) bean.get("intProperty")).intValue());        BeanUtils.setProperty(bean, "longProperty", new Float((float) 123));        assertEquals((int) 123, ((Integer) bean.get("intProperty")).intValue());*/        BeanUtils.setProperty(bean, "longProperty", new Integer((int) 123));        assertEquals((int) 123, ((Integer) bean.get("intProperty")).intValue());        BeanUtils.setProperty(bean, "longProperty", new Long((long) 123));        assertEquals((int) 123, ((Integer) bean.get("intProperty")).intValue());        BeanUtils.setProperty(bean, "longProperty", new Short((short) 123));        assertEquals((int) 123, ((Integer) bean.get("intProperty")).intValue());    }    /**     * Test narrowing and widening conversions on long.     */    public void testCopyPropertyLong() throws Exception {        BeanUtils.setProperty(bean, "longProperty", new Byte((byte) 123));        assertEquals((long) 123, ((Long) bean.get("longProperty")).longValue());/*        BeanUtils.setProperty(bean, "longProperty", new Double((double) 123));        assertEquals((long) 123, ((Long) bean.get("longProperty")).longValue());        BeanUtils.setProperty(bean, "longProperty", new Float((float) 123));        assertEquals((long) 123, ((Long) bean.get("longProperty")).longValue());*/        BeanUtils.setProperty(bean, "longProperty", new Integer((int) 123));        assertEquals((long) 123, ((Long) bean.get("longProperty")).longValue());        BeanUtils.setProperty(bean, "longProperty", new Long((long) 123));        assertEquals((long) 123, ((Long) bean.get("longProperty")).longValue());        BeanUtils.setProperty(bean, "longProperty", new Short((short) 123));        assertEquals((long) 123, ((Long) bean.get("longProperty")).longValue());    }    /**     * Test copying a null property value.     */    public void testCopyPropertyNull() throws Exception {        bean.set("nullProperty", "non-null value");        BeanUtils.copyProperty(bean, "nullProperty", null);        assertNull("nullProperty is null", bean.get("nullProperty"));    }    /**     * Test narrowing and widening conversions on short.     */    public void testCopyPropertyShort() throws Exception {        BeanUtils.setProperty(bean, "shortProperty", new Byte((byte) 123));        assertEquals((short) 123, ((Short) bean.get("shortProperty")).shortValue());/*        BeanUtils.setProperty(bean, "shortProperty", new Double((double) 123));        assertEquals((short) 123, ((Short) bean.get("shortProperty")).shortValue());        BeanUtils.setProperty(bean, "shortProperty", new Float((float) 123));        assertEquals((short) 123, ((Short) bean.get("shortProperty")).shortValue());*/        BeanUtils.setProperty(bean, "shortProperty", new Integer((int) 123));        assertEquals((short) 123, ((Short) bean.get("shortProperty")).shortValue());        BeanUtils.setProperty(bean, "shortProperty", new Long((long) 123));        assertEquals((short) 123, ((Short) bean.get("shortProperty")).shortValue());        BeanUtils.setProperty(bean, "shortProperty", new Short((short) 123));        assertEquals((short) 123, ((Short) bean.get("shortProperty")).shortValue());    }    /**     * Test copying a property using a nested indexed array expression,     * with and without conversions.     */    public void testCopyPropertyNestedIndexedArray() throws Exception {        int origArray[] = { 0, 10, 20, 30, 40};        int intArray[] = { 0, 0, 0 };        ((TestBean) bean.get("nested")).setIntArray(intArray);        int intChanged[] = { 0, 0, 0 };        // No conversion required        BeanUtils.copyProperty(bean, "nested.intArray[1]", new Integer(1));        checkIntArray((int[]) bean.get("intArray"), origArray);        intChanged[1] = 1;        checkIntArray(((TestBean) bean.get("nested")).getIntArray(),                      intChanged);        // Widening conversion required        BeanUtils.copyProperty(bean, "nested.intArray[1]", new Byte((byte) 2));        checkIntArray((int[]) bean.get("intArray"), origArray);        intChanged[1] = 2;        checkIntArray(((TestBean) bean.get("nested")).getIntArray(),                      intChanged);        // Narrowing conversion required        BeanUtils.copyProperty(bean, "nested.intArray[1]", new Long((long) 3));        checkIntArray((int[]) bean.get("intArray"), origArray);        intChanged[1] = 3;        checkIntArray(((TestBean) bean.get("nested")).getIntArray(),                      intChanged);        // String conversion required        BeanUtils.copyProperty(bean, "nested.intArray[1]", "4");        checkIntArray((int[]) bean.get("intArray"), origArray);        intChanged[1] = 4;        checkIntArray(((TestBean) bean.get("nested")).getIntArray(),                      intChanged);    }    /**     * Test copying a property using a nested mapped map property.     */    public void testCopyPropertyNestedMappedMap() throws Exception {        Map origMap = new HashMap();        origMap.put("First Key", "First Value");        origMap.put("Second Key", "Second Value");        Map changedMap = new HashMap();        changedMap.put("First Key", "First Value");        changedMap.put("Second Key", "Second Value");        // No conversion required        BeanUtils.copyProperty(bean, "nested.mapProperty(Second Key)",                               "New Second Value");        checkMap((Map) bean.get("mapProperty"), origMap);        changedMap.put("Second Key", "New Second Value");        checkMap(((TestBean) bean.get("nested")).getMapProperty(), changedMap);    }    /**     * Test copying a property using a nested simple expression, with and     * without conversions.     */    public void testCopyPropertyNestedSimple() throws Exception {        bean.set("intProperty", new Integer(0));        nested.setIntProperty(0);        // No conversion required        BeanUtils.copyProperty(bean, "nested.intProperty", new Integer(1));        assertEquals(0, ((Integer) bean.get("intProperty")).intValue());        assertEquals(1, nested.getIntProperty());        // Widening conversion required        BeanUtils.copyProperty(bean, "nested.intProperty", new Byte((byte) 2));        assertEquals(0, ((Integer) bean.get("intProperty")).intValue());        assertEquals(2, nested.getIntProperty());        // Narrowing conversion required        BeanUtils.copyProperty(bean, "nested.intProperty", new Long((long) 3));        assertEquals(0, ((Integer) bean.get("intProperty")).intValue());        assertEquals(3, nested.getIntProperty());        // String conversion required        BeanUtils.copyProperty(bean, "nested.intProperty", "4");        assertEquals(0, ((Integer) bean.get("intProperty")).intValue());        assertEquals(4, nested.getIntProperty());    }    // ------------------------------------------------------ Protected Methods    // Ensure that the nested intArray matches the specified values    protected void checkIntArray(int actual[], int expected[]) {        assertNotNull("actual array not null", actual);        assertEquals("actual array length", expected.length, actual.length);        for (int i = 0; i < actual.length; i++) {            assertEquals("actual array value[" + i + "]",                         expected[i], actual[i]);        }    }    // Ensure that the actual Map matches the expected Map    protected void checkMap(Map actual, Map expected) {        assertNotNull("actual map not null", actual);        assertEquals("actual map size", expected.size(), actual.size());        Iterator keys = expected.keySet().iterator();        while (keys.hasNext()) {            Object key = keys.next();            assertEquals("actual map value(" + key + ")",                         expected.get(key), actual.get(key));        }    }    /**     * Create and return a <code>DynaClass</code> instance for our test     * <code>DynaBean</code>.     */    protected static DynaClass createDynaClass() {        int intArray[] = new int[0];        String stringArray[] = new String[0];        DynaClass dynaClass = new BasicDynaClass                ("TestDynaClass", null,                        new DynaProperty[]{                            new DynaProperty("booleanProperty", Boolean.TYPE),                            new DynaProperty("booleanSecond", Boolean.TYPE),                            new DynaProperty("byteProperty", Byte.TYPE),                            new DynaProperty("doubleProperty", Double.TYPE),                            new DynaProperty("dupProperty", stringArray.getClass()),                            new DynaProperty("floatProperty", Float.TYPE),                            new DynaProperty("intArray", intArray.getClass()),                            new DynaProperty("intIndexed", intArray.getClass()),                            new DynaProperty("intProperty", Integer.TYPE),                            new DynaProperty("listIndexed", List.class),                            new DynaProperty("longProperty", Long.TYPE),                            new DynaProperty("mapProperty", Map.class),                            new DynaProperty("mappedProperty", Map.class),                            new DynaProperty("mappedIntProperty", Map.class),                            new DynaProperty("nested", TestBean.class),                            new DynaProperty("nullProperty", String.class),                            new DynaProperty("shortProperty", Short.TYPE),                            new DynaProperty("stringArray", stringArray.getClass()),                            new DynaProperty("stringIndexed", stringArray.getClass()),                            new DynaProperty("stringProperty", String.class),                        });        return (dynaClass);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -