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

📄 methodutilstestcase.java

📁 apache beanutils开源项目源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        assertEquals("Bug in PrimitiveBean (1)", 20.0f, bean.getFloat(), 0.01f);        assertEquals("Bug in PrimitiveBean (2)", 10, bean.getLong());        assertEquals("Bug in PrimitiveBean (3)", true, bean.getBoolean());        assertEquals("Bug in PrimitiveBean (4)", 12, bean.getInt());        assertEquals("Bug in PrimitiveBean (5)", 25.5d, bean.getDouble(), 0.01f);                bean = new PrimitiveBean();        MethodUtils.invokeMethod(bean, "setBoolean", new Boolean(true));        assertEquals("Call boolean property using invokeMethod", true, bean.getBoolean());        bean = new PrimitiveBean();        MethodUtils.invokeMethod(bean, "setFloat", new Float(20.0f));        assertEquals("Call float property using invokeMethod", 20.0f, bean.getFloat(), 0.01f);                bean = new PrimitiveBean();        MethodUtils.invokeMethod(bean, "setLong", new Long(10));        assertEquals("Call float property using invokeMethod", 10, bean.getLong());                bean = new PrimitiveBean();        MethodUtils.invokeMethod(bean, "setInt", new Integer(12));        assertEquals("Set float property using invokeMethod", 12, bean.getInt());                bean = new PrimitiveBean();        MethodUtils.invokeMethod(bean, "setDouble", new Double(25.5d));        assertEquals("Set float property using invokeMethod", 25.5d, bean.getDouble(), 0.01d);    }    /**     * Simple tests for accessing static methods via invokeMethod().     */    public void testSimpleStatic1() {        TestBean bean = new TestBean();        Object value = null;        int current = TestBean.currentCounter();        try {            // Return initial value of the counter            value = MethodUtils.invokeMethod                (bean, "currentCounter", new Object[0], new Class[0]);            assertNotNull("currentCounter exists", value);            assertTrue("currentCounter type",                       value instanceof Integer);            assertEquals("currentCounter value",                         current,                         ((Integer) value).intValue());            // Increment via no-arguments version            MethodUtils.invokeMethod                (bean, "incrementCounter", new Object[0], new Class[0]);            // Validate updated value            current++;            value = MethodUtils.invokeMethod                (bean, "currentCounter", new Object[0], new Class[0]);            assertNotNull("currentCounter exists", value);            assertTrue("currentCounter type",                       value instanceof Integer);            assertEquals("currentCounter value",                         current,                         ((Integer) value).intValue());            // Increment via specified-argument version            MethodUtils.invokeMethod                (bean, "incrementCounter",                 new Object[] { new Integer(5) },                 new Class[] { Integer.TYPE });            // Validate updated value            current += 5;            value = MethodUtils.invokeMethod                (bean, "currentCounter", new Object[0], new Class[0]);            assertNotNull("currentCounter exists", value);            assertTrue("currentCounter type",                       value instanceof Integer);            assertEquals("currentCounter value",                         current,                         ((Integer) value).intValue());        } catch (Exception e) {            fail("Threw exception" + e);        }    }    /**     * Simple tests for accessing static methods via invokeExactMethod().     */    public void testSimpleStatic2() {        TestBean bean = new TestBean();        Object value = null;        int current = TestBean.currentCounter();        try {            // Return initial value of the counter            value = MethodUtils.invokeExactMethod                (bean, "currentCounter", new Object[0], new Class[0]);            assertNotNull("currentCounter exists", value);            assertTrue("currentCounter type",                       value instanceof Integer);            assertEquals("currentCounter value",                         current,                         ((Integer) value).intValue());            // Increment via no-arguments version            MethodUtils.invokeExactMethod                (bean, "incrementCounter", new Object[0], new Class[0]);            // Validate updated value            current++;            value = MethodUtils.invokeExactMethod                (bean, "currentCounter", new Object[0], new Class[0]);            assertNotNull("currentCounter exists", value);            assertTrue("currentCounter type",                       value instanceof Integer);            assertEquals("currentCounter value",                         current,                         ((Integer) value).intValue());            // Increment via specified-argument version            MethodUtils.invokeExactMethod                (bean, "incrementCounter",                 new Object[] { new Integer(5) },                 new Class[] { Integer.TYPE });            // Validate updated value            current += 5;            value = MethodUtils.invokeExactMethod                (bean, "currentCounter", new Object[0], new Class[0]);            assertNotNull("currentCounter exists", value);            assertTrue("currentCounter type",                       value instanceof Integer);            assertEquals("currentCounter value",                         current,                         ((Integer) value).intValue());        } catch (Exception e) {            fail("Threw exception" + e);        }    }    /**     * Simple tests for accessing static methods via getAccessibleMethod()     */    public void testSimpleStatic3() {        Object value = null;        int current = TestBean.currentCounter();        try {            // Acquire the methods we need            Method currentCounterMethod = MethodUtils.getAccessibleMethod                (TestBean.class, "currentCounter",                 new Class[0]);            assertNotNull("currentCounterMethod exists",                          currentCounterMethod);            assertEquals("currentCounterMethod name",                         "currentCounter",                         currentCounterMethod.getName());            assertEquals("currentCounterMethod args",                         0,                         currentCounterMethod.getParameterTypes().length);            assertTrue("currentCounterMethod public",                       Modifier.isPublic(currentCounterMethod.getModifiers()));            assertTrue("currentCounterMethod static",                       Modifier.isStatic(currentCounterMethod.getModifiers()));            Method incrementCounterMethod1 = MethodUtils.getAccessibleMethod                (TestBean.class, "incrementCounter",                 new Class[0]);            assertNotNull("incrementCounterMethod1 exists",                          incrementCounterMethod1);            assertEquals("incrementCounterMethod1 name",                         "incrementCounter",                         incrementCounterMethod1.getName());            assertEquals("incrementCounterMethod1 args",                         0,                         incrementCounterMethod1.getParameterTypes().length);            assertTrue("incrementCounterMethod1 public",                       Modifier.isPublic(incrementCounterMethod1.getModifiers()));            assertTrue("incrementCounterMethod1 static",                       Modifier.isStatic(incrementCounterMethod1.getModifiers()));            Method incrementCounterMethod2 = MethodUtils.getAccessibleMethod                (TestBean.class, "incrementCounter",                 new Class[] { Integer.TYPE });            assertNotNull("incrementCounterMethod2 exists",                          incrementCounterMethod2);            assertEquals("incrementCounterMethod2 name",                         "incrementCounter",                         incrementCounterMethod2.getName());            assertEquals("incrementCounterMethod2 args",                         1,                         incrementCounterMethod2.getParameterTypes().length);            assertTrue("incrementCounterMethod2 public",                       Modifier.isPublic(incrementCounterMethod2.getModifiers()));            assertTrue("incrementCounterMethod2 static",                       Modifier.isStatic(incrementCounterMethod2.getModifiers()));            // Return initial value of the counter            value = currentCounterMethod.invoke(null, new Object[0]);            assertNotNull("currentCounter exists", value);            assertTrue("currentCounter type",                       value instanceof Integer);            assertEquals("currentCounter value",                         current,                         ((Integer) value).intValue());            // Increment via no-arguments version            incrementCounterMethod1.invoke(null, new Object[0]);            // Validate updated value            current++;            value = currentCounterMethod.invoke(null, new Object[0]);            assertNotNull("currentCounter exists", value);            assertTrue("currentCounter type",                       value instanceof Integer);            assertEquals("currentCounter value",                         current,                         ((Integer) value).intValue());            // Increment via specified-argument version            incrementCounterMethod2.invoke(null,                                           new Object[] { new Integer(5) });            // Validate updated value            current += 5;            value = currentCounterMethod.invoke(null, new Object[0]);            assertNotNull("currentCounter exists", value);            assertTrue("currentCounter type",                       value instanceof Integer);            assertEquals("currentCounter value",                         current,                         ((Integer) value).intValue());        } catch (Exception e) {            fail("Threw exception" + e);        }    }    public void testPublicSub() throws Exception {        // make sure that bean does what it should        PublicSubBean bean = new PublicSubBean();        assertEquals("Start value (foo)", bean.getFoo(), "This is foo");        assertEquals("Start value (bar)", bean.getBar(), "This is bar");        bean.setFoo("new foo");        bean.setBar("new bar");        assertEquals("Set value (foo)", bean.getFoo(), "new foo");        assertEquals("Set value (bar)", bean.getBar(), "new bar");                // see if we can access public methods in a default access superclass        // from a public access subclass instance        MethodUtils.invokeMethod(bean, "setFoo", "alpha");        assertEquals("Set value (foo:2)", bean.getFoo(), "alpha");        MethodUtils.invokeMethod(bean, "setBar", "beta");        assertEquals("Set value (bar:2)", bean.getFoo(), "alpha");    }        public void testParentMethod() throws Exception {        OutputStream os = new PrintStream(System.out);        PrintStream ps = new PrintStream(System.out);                A a = new A();        MethodUtils.invokeMethod(a, "foo", os);        assertTrue("Method Invoked(1)", a.called);                a = new A();        MethodUtils.invokeMethod(a, "foo", ps);        assertTrue("Method Invoked(2)", a.called);    }}

⌨️ 快捷键说明

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