Index: test/java/org/apache/harmony/beans/tests/java/beans/DefaultPersistenceDelegateTest.java =================================================================== --- test/java/org/apache/harmony/beans/tests/java/beans/DefaultPersistenceDelegateTest.java (revision 425387) +++ test/java/org/apache/harmony/beans/tests/java/beans/DefaultPersistenceDelegateTest.java (working copy) @@ -24,6 +24,7 @@ import java.beans.PropertyDescriptor; import java.beans.SimpleBeanInfo; import java.beans.Statement; +import java.util.Stack; import junit.framework.TestCase; @@ -127,37 +128,43 @@ } /* - * Test instantiate() with null property name. - */ - public void testInstantiate_NullProperty() throws Exception { - MockPersistenceDelegate pd = new MockPersistenceDelegate(new String[] { - "prop1", null }); - MockBean b = new MockBean(); - b.setAll("bean1", 2); - try { - pd.instantiate(b, new Encoder()); - fail("Should throw NullPointerException!"); - } catch (NullPointerException ex) { - // expected - } - } + * Test instantiate() with null property name. + * @impl + */ + public void testInstantiate_NullProperty() throws Exception { + MockPersistenceDelegate pd = new MockPersistenceDelegate(new String[] { + "prop1", null }); + MockBean b = new MockBean(); + Expression e; + b.setAll("bean1", 2); + e = pd.instantiate(b, new Encoder()); + assertSame(b, e.getValue()); + assertSame(MockBean.class, e.getTarget()); + assertEquals("new", e.getMethodName()); + assertEquals("bean1", e.getArguments()[0]); + assertNull(e.getArguments()[1]); + } + /* - * Test instantiate() with empty property name. - */ - public void testInstantiate_EmptyProperty() throws Exception { - MockPersistenceDelegate pd = new MockPersistenceDelegate(new String[] { - "prop1", "" }); - MockBean b = new MockBean(); - b.setAll("bean1", 2); - try { - pd.instantiate(b, null); - fail("Should throw NullPointerException!"); - } catch (NullPointerException ex) { - // expected - } - } + * Test instantiate() with empty property name. + * @impl + */ + public void testInstantiate_EmptyProperty() throws Exception { + MockPersistenceDelegate pd = new MockPersistenceDelegate(new String[] { + "prop1", "" }); + MockBean b = new MockBean(); + Expression e; + b.setAll("bean1", 2); + e = pd.instantiate(b, new Encoder()); + assertSame(b, e.getValue()); + assertSame(MockBean.class, e.getTarget()); + assertEquals("new", e.getMethodName()); + assertEquals("bean1", e.getArguments()[0]); + assertNull(e.getArguments()[1]); + } + /* * Test instantiate() with no property. */ @@ -175,54 +182,52 @@ /* * Test instantiate() with one normal property name, but non-existing getter * method. + * @impl */ public void testInstantiate_NonExistingGetter() throws Exception { MockPersistenceDelegate pd = new MockPersistenceDelegate(new String[] { "prop1", "non_existing" }); MockBean b = new MockBean(); - b.setAll("bean1", 2); - Encoder enc = new Encoder(); - ExceptionListener el = new ExceptionListener() { - public void exceptionThrown(Exception e) { - CallVerificationStack.getInstance().push(e); - } - }; - enc.setExceptionListener(el); - Expression e = pd.instantiate(b, enc); - assertSame(b, e.getValue()); - assertSame(MockBean.class, e.getTarget()); - assertEquals("new", e.getMethodName()); - assertEquals(2, e.getArguments().length); - assertSame(b.getProp1(), e.getArguments()[0]); - assertSame(null, e.getArguments()[1]); - assertTrue(CallVerificationStack.getInstance().pop() instanceof Exception); + Encoder enc = new Encoder(); + Expression e; + final java.util.Stack verificationStack = + new java.util.Stack(); - enc.setExceptionListener(null); - assertNotNull(enc.getExceptionListener()); + b.setAll("bean1", 2); + enc.setExceptionListener(new ExceptionListener() { + public void exceptionThrown(Exception e) { + verificationStack.push(e); + } + }); e = pd.instantiate(b, enc); assertSame(b, e.getValue()); assertSame(MockBean.class, e.getTarget()); assertEquals("new", e.getMethodName()); assertEquals(2, e.getArguments().length); assertSame(b.getProp1(), e.getArguments()[0]); - assertSame(null, e.getArguments()[1]); + assertNull(e.getArguments()[1]); + assertTrue(verificationStack.empty()); } /* * Test instantiate() with one normal property name, but non-existing getter * method, and null encoder. + * @impl */ - public void testInstantiate_NonExistingGetterNulEncoder() throws Exception { + public void testInstantiate_NonExistingGetterNullEncoder() throws Exception { MockPersistenceDelegate pd = new MockPersistenceDelegate(new String[] { "prop1", "non_existing" }); MockBean b = new MockBean(); + Expression e; + b.setAll("bean1", 2); - try { - pd.instantiate(b, null); - fail("Should throw NullPointerException!"); - } catch (NullPointerException ex) { - // expected - } + e = pd.instantiate(b, null); + assertSame(b, e.getValue()); + assertSame(MockBean.class, e.getTarget()); + assertEquals("new", e.getMethodName()); + assertEquals(2, e.getArguments().length); + assertSame(b.getProp1(), e.getArguments()[0]); + assertNull(e.getArguments()[1]); } /* @@ -323,18 +328,21 @@ MockPersistenceDelegate pd = new MockPersistenceDelegate( new String[] { "i" }); MockNoGetterBean2 b = new MockNoGetterBean2(3); + final Stack verificationStack = new Stack(); + Expression e; + enc.setExceptionListener(new ExceptionListener() { public void exceptionThrown(Exception e) { - CallVerificationStack.getInstance().push(e); + verificationStack.push(e); } }); - Expression e = pd.instantiate(b, enc); + e = pd.instantiate(b, enc); assertSame(b, e.getValue()); assertSame(MockNoGetterBean2.class, e.getTarget()); assertEquals("new", e.getMethodName()); assertEquals(1, e.getArguments().length); - assertSame(null, e.getArguments()[0]); - assertFalse(CallVerificationStack.getInstance().empty()); + assertNull(e.getArguments()[0]); + assertTrue(verificationStack.empty()); } /*