📄 dynapropertyutilstestcase.java
字号:
} catch (NoSuchMethodException e) { ; // Expected response } catch (Throwable t) { fail("Threw " + t + " instead of NoSuchMethodException 4"); } try { PropertyUtils.getIndexedProperty(bean, "intIndexed"); fail("Should throw IllegalArgumentException 5"); } catch (IllegalArgumentException e) { ; // Expected response } catch (Throwable t) { fail("Threw " + t + " instead of IllegalArgumentException 5"); } } /** * Positive and negative tests on getIndexedProperty valid arguments. */ public void testGetIndexedValues() { Object value = null; // Use explicit key argument for (int i = 0; i < 5; i++) { try { value = PropertyUtils.getIndexedProperty(bean, "intArray", i); assertNotNull("intArray returned value " + i, value); assertTrue("intArray returned Integer " + i, value instanceof Integer); assertEquals("intArray returned correct " + i, i * 10, ((Integer) value).intValue()); } catch (Throwable t) { fail("intArray " + i + " threw " + t); } try { value = PropertyUtils.getIndexedProperty(bean, "intIndexed", i); assertNotNull("intIndexed returned value " + i, value); assertTrue("intIndexed returned Integer " + i, value instanceof Integer); assertEquals("intIndexed returned correct " + i, i * 10, ((Integer) value).intValue()); } catch (Throwable t) { fail("intIndexed " + i + " threw " + t); } try { value = PropertyUtils.getIndexedProperty(bean, "listIndexed", i); assertNotNull("listIndexed returned value " + i, value); assertTrue("list returned String " + i, value instanceof String); assertEquals("listIndexed returned correct " + i, "String " + i, (String) value); } catch (Throwable t) { fail("listIndexed " + i + " threw " + t); } try { value = PropertyUtils.getIndexedProperty(bean, "stringArray", i); assertNotNull("stringArray returned value " + i, value); assertTrue("stringArray returned String " + i, value instanceof String); assertEquals("stringArray returned correct " + i, "String " + i, (String) value); } catch (Throwable t) { fail("stringArray " + i + " threw " + t); } try { value = PropertyUtils.getIndexedProperty(bean, "stringIndexed", i); assertNotNull("stringIndexed returned value " + i, value); assertTrue("stringIndexed returned String " + i, value instanceof String); assertEquals("stringIndexed returned correct " + i, "String " + i, (String) value); } catch (Throwable t) { fail("stringIndexed " + i + " threw " + t); } } // Use key expression for (int i = 0; i < 5; i++) { try { value = PropertyUtils.getIndexedProperty(bean, "intArray[" + i + "]"); assertNotNull("intArray returned value " + i, value); assertTrue("intArray returned Integer " + i, value instanceof Integer); assertEquals("intArray returned correct " + i, i * 10, ((Integer) value).intValue()); } catch (Throwable t) { fail("intArray " + i + " threw " + t); } try { value = PropertyUtils.getIndexedProperty(bean, "intIndexed[" + i + "]"); assertNotNull("intIndexed returned value " + i, value); assertTrue("intIndexed returned Integer " + i, value instanceof Integer); assertEquals("intIndexed returned correct " + i, i * 10, ((Integer) value).intValue()); } catch (Throwable t) { fail("intIndexed " + i + " threw " + t); } try { value = PropertyUtils.getIndexedProperty(bean, "listIndexed[" + i + "]"); assertNotNull("listIndexed returned value " + i, value); assertTrue("listIndexed returned String " + i, value instanceof String); assertEquals("listIndexed returned correct " + i, "String " + i, (String) value); } catch (Throwable t) { fail("listIndexed " + i + " threw " + t); } try { value = PropertyUtils.getIndexedProperty(bean, "stringArray[" + i + "]"); assertNotNull("stringArray returned value " + i, value); assertTrue("stringArray returned String " + i, value instanceof String); assertEquals("stringArray returned correct " + i, "String " + i, (String) value); } catch (Throwable t) { fail("stringArray " + i + " threw " + t); } try { value = PropertyUtils.getIndexedProperty(bean, "stringIndexed[" + i + "]"); assertNotNull("stringIndexed returned value " + i, value); assertTrue("stringIndexed returned String " + i, value instanceof String); assertEquals("stringIndexed returned correct " + i, "String " + i, (String) value); } catch (Throwable t) { fail("stringIndexed " + i + " threw " + t); } } // Index out of bounds tests try { value = PropertyUtils.getIndexedProperty(bean, "intArray", -1); fail("Should have thrown ArrayIndexOutOfBoundsException"); } catch (ArrayIndexOutOfBoundsException t) { ; // Expected results } catch (Throwable t) { fail("Threw " + t + " instead of ArrayIndexOutOfBoundsException"); } try { value = PropertyUtils.getIndexedProperty(bean, "intArray", 5); fail("Should have thrown ArrayIndexOutOfBoundsException"); } catch (ArrayIndexOutOfBoundsException t) { ; // Expected results } catch (Throwable t) { fail("Threw " + t + " instead of ArrayIndexOutOfBoundsException"); } try { value = PropertyUtils.getIndexedProperty(bean, "intIndexed", -1); fail("Should have thrown ArrayIndexOutOfBoundsException"); } catch (ArrayIndexOutOfBoundsException t) { ; // Expected results } catch (Throwable t) { fail("Threw " + t + " instead of ArrayIndexOutOfBoundsException"); } try { value = PropertyUtils.getIndexedProperty(bean, "intIndexed", 5); fail("Should have thrown ArrayIndexOutOfBoundsException"); } catch (ArrayIndexOutOfBoundsException t) { ; // Expected results } catch (Throwable t) { fail("Threw " + t + " instead of ArrayIndexOutOfBoundsException"); } try { value = PropertyUtils.getIndexedProperty(bean, "listIndexed", -1); fail("Should have thrown IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException t) { ; // Expected results } catch (Throwable t) { fail("Threw " + t + " instead of IndexOutOfBoundsException"); } try { value = PropertyUtils.getIndexedProperty(bean, "listIndexed", 5); fail("Should have thrown IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException t) { ; // Expected results } catch (Throwable t) { fail("Threw " + t + " instead of IndexOutOfBoundsException"); } try { value = PropertyUtils.getIndexedProperty(bean, "stringArray", -1); fail("Should have thrown ArrayIndexOutOfBoundsException"); } catch (ArrayIndexOutOfBoundsException t) { ; // Expected results } catch (Throwable t) { fail("Threw " + t + " instead of ArrayIndexOutOfBoundsException"); } try { value = PropertyUtils.getIndexedProperty(bean, "stringArray", 5); fail("Should have thrown ArrayIndexOutOfBoundsException"); } catch (ArrayIndexOutOfBoundsException t) { ; // Expected results } catch (Throwable t) { fail("Threw " + t + " instead of ArrayIndexOutOfBoundsException"); } try { value = PropertyUtils.getIndexedProperty(bean, "stringIndexed", -1); fail("Should have thrown ArrayIndexOutOfBoundsException"); } catch (ArrayIndexOutOfBoundsException t) { ; // Expected results } catch (Throwable t) { fail("Threw " + t + " instead of ArrayIndexOutOfBoundsException"); } try { value = PropertyUtils.getIndexedProperty(bean, "stringIndexed", 5); fail("Should have thrown ArrayIndexOutOfBoundsException"); } catch (ArrayIndexOutOfBoundsException t) { ; // Expected results } catch (Throwable t) { fail("Threw " + t + " instead of ArrayIndexOutOfBoundsException"); } } /** * Corner cases on getMappedProperty invalid arguments. */ public void testGetMappedArguments() { // Use explicit key argument try { PropertyUtils.getMappedProperty(null, "mappedProperty", "First Key"); fail("Should throw IllegalArgumentException 1"); } catch (IllegalArgumentException e) { ; // Expected response } catch (Throwable t) { fail("Threw " + t + " instead of IllegalArgumentException 1"); } try { PropertyUtils.getMappedProperty(bean, null, "First Key"); fail("Should throw IllegalArgumentException 2"); } catch (IllegalArgumentException e) { ; // Expected response } catch (Throwable t) { fail("Threw " + t + " instead of IllegalArgumentException 2"); } try { PropertyUtils.getMappedProperty(bean, "mappedProperty", null); fail("Should throw IllegalArgumentException 3"); } catch (IllegalArgumentException e) { ; // Expected response } catch (Throwable t) { fail("Threw " + t + " instead of IllegalArgumentException 3"); } // Use key expression try { PropertyUtils.getMappedProperty(null, "mappedProperty(First Key)"); fail("Should throw IllegalArgumentException 4"); } catch (IllegalArgumentException e) { ; // Expected response } catch (Throwable t) { fail("Threw " + t + " instead of IllegalArgumentException 4"); } try { PropertyUtils.getMappedProperty(bean, "(Second Key)"); fail("Should throw IllegalArgumentException 5"); } catch (NoSuchMethodException e) { ; // Expected response } catch (Throwable t) { fail("Threw " + t + " instead of NoSuchMethodException 5"); } try { PropertyUtils.getMappedProperty(bean, "mappedProperty"); fail("Should throw IllegalArgumentException 6"); } catch (IllegalArgumentException e) { ; // Expected response } catch (Throwable t) { fail("Threw " + t + " instead of IllegalArgumentException 6"); } } /** * Test getting mapped values with periods in the key. */ public void testGetMappedPeriods() { bean.set("mappedProperty", "key.with.a.dot", "Special Value"); assertEquals("Can retrieve directly", "Special Value", (String) bean.get("mappedProperty", "key.with.a.dot")); try { assertEquals("Can retrieve via getMappedProperty", "Special Value", PropertyUtils.getMappedProperty (bean, "mappedProperty", "key.with.a.dot")); } catch (Exception e) { fail("Thew exception: " + e); } try { assertEquals("Can retrieve via getNestedProperty", "Special Value", PropertyUtils.getNestedProperty (bean, "mappedProperty(key.with.a.dot)")); } catch (Exception e) { fail("Thew exception: " + e); } bean.set("mappedObjects", "nested.property", new TestBean()); assertNotNull("Can retrieve directly", bean.get("mappedObjects", "nested.property")); try { assertEquals("Can retrieve nested",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -