harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ndbe...@apache.org
Subject svn commit: r446483 [7/8] - in /incubator/harmony/enhanced/classlib/trunk/modules/beans: .settings/ META-INF/ make/ src/main/java/java/beans/ src/main/java/java/beans/beancontext/ src/main/java/org/apache/harmony/beans/ src/main/java/org/apache/harmony...
Date Fri, 15 Sep 2006 02:53:28 GMT
Modified: incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextSupportTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextSupportTest.java?view=diff&rev=446483&r1=446482&r2=446483
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextSupportTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextSupportTest.java Thu Sep 14 19:53:17 2006
@@ -1,2118 +1,2118 @@
-/* Copyright 2005 The Apache Software Foundation or its licensors, as applicable
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.harmony.beans.tests.java.beans.beancontext;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyVetoException;
-import java.beans.VetoableChangeListener;
-import java.beans.Visibility;
-import java.beans.beancontext.BeanContext;
-import java.beans.beancontext.BeanContextChild;
-import java.beans.beancontext.BeanContextMembershipEvent;
-import java.beans.beancontext.BeanContextMembershipListener;
-import java.beans.beancontext.BeanContextProxy;
-import java.beans.beancontext.BeanContextSupport;
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-
-import junit.framework.TestCase;
-
-import org.apache.harmony.beans.tests.support.beancontext.MethodInvocationRecords;
-import org.apache.harmony.beans.tests.support.beancontext.Utils;
-import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContext;
-import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextChild;
-import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextChildS;
-import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextDelegateS;
-import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextMembershipListener;
-import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextMembershipListenerS;
-import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextProxy;
-import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextProxyS;
-import org.apache.harmony.beans.tests.support.beancontext.mock.MockPropertyChangeListener;
-import org.apache.harmony.beans.tests.support.beancontext.mock.MockVetoChangeListener;
-import org.apache.harmony.beans.tests.support.beancontext.mock.MockVetoableChangeListener;
-import org.apache.harmony.beans.tests.support.beancontext.mock.MockVisibility;
-
-import tests.util.SerializationTester;
-
-/**
- * Test BeanContextSupport
- */
-public class BeanContextSupportTest extends TestCase {
-
-    private static class MockBeanContextSupport extends BeanContextSupport {
-        
-        static final long serialVersionUID = -4165267256277214588L;
-
-        public transient MethodInvocationRecords records;
-
-        public transient boolean vetoAddRemove = false;
-
-        /**
-         * 
-         */
-        public MockBeanContextSupport() {
-            super();
-        }
-
-        /**
-         * @param peer
-         */
-        public MockBeanContextSupport(BeanContext peer) {
-            super(peer);
-        }
-
-        /**
-         * @param peer
-         * @param lcle
-         */
-        public MockBeanContextSupport(BeanContext peer, Locale lcle) {
-            super(peer, lcle);
-        }
-
-        /**
-         * @param peer
-         * @param lcle
-         * @param dtime
-         */
-        public MockBeanContextSupport(BeanContext peer, Locale lcle,
-                boolean dtime) {
-            super(peer, lcle, dtime);
-        }
-
-        /**
-         * @param peer
-         * @param lcle
-         * @param dTime
-         * @param visible
-         */
-        public MockBeanContextSupport(BeanContext peer, Locale lcle,
-                boolean dTime, boolean visible) {
-            super(peer, lcle, dTime, visible);
-        }
-
-        public ArrayList bcmListeners() {
-            return bcmListeners;
-        }
-
-        public Iterator publicBcsChildren() {
-            return this.bcsChildren();
-        }
-
-        public static boolean publicClassEquals(Class c1, Class c2) {
-            return classEquals(c1, c2);
-        }
-
-        public Object[] publicCopyChildren() {
-            return copyChildren();
-        }
-
-        public static BeanContextChild publicGetChildBeanContextChild(
-                Object child) {
-            return getChildBeanContextChild(child);
-        }
-
-        public static BeanContextMembershipListener publicGetChildBeanContextMembershipListener(
-                Object child) {
-            return getChildBeanContextMembershipListener(child);
-        }
-
-        public static PropertyChangeListener publicGetChildPropertyChangeListener(
-                Object child) {
-            return getChildPropertyChangeListener(child);
-        }
-
-        public static Serializable publicGetChildSerializable(Object child) {
-            return getChildSerializable(child);
-        }
-
-        public static VetoableChangeListener publicGetChildVetoableChangeListener(
-                Object child) {
-            return getChildVetoableChangeListener(child);
-        }
-
-        public static Visibility publicGetChildVisibility(Object child) {
-            return getChildVisibility(child);
-        }
-
-        public boolean publicRemove(Object targetChild, boolean callChildBC) {
-            return remove(targetChild, callChildBC);
-        }
-
-        public HashMap children() {
-            return children;
-        }
-
-        public boolean designTime() {
-            return designTime;
-        }
-
-        public Locale locale() {
-            return locale;
-        }
-
-        public boolean isOkToUseGui() {
-            return okToUseGui;
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.beans.beancontext.BeanContextSupport#bcsPreDeserializationHook(java.io.ObjectInputStream)
-         */
-        protected void bcsPreDeserializationHook(ObjectInputStream ois)
-                throws IOException, ClassNotFoundException {
-            super.bcsPreDeserializationHook(ois);
-            if (records == null) {
-                records = new MethodInvocationRecords();
-            }
-            records.add("bcsPreDeserializationHook", ois, null);
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.beans.beancontext.BeanContextSupport#bcsPreSerializationHook(java.io.ObjectOutputStream)
-         */
-        protected void bcsPreSerializationHook(ObjectOutputStream oos)
-                throws IOException {
-            super.bcsPreSerializationHook(oos);
-            records.add("bcsPreSerializationHook", oos, null);
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.beans.beancontext.BeanContextSupport#childDeserializedHook(java.lang.Object,
-         *      java.beans.beancontext.BeanContextSupport.BCSChild)
-         */
-        protected void childDeserializedHook(Object child, BCSChild bcsc) {
-            super.childDeserializedHook(child, bcsc);
-            records.add("childDeserializedHook", child, bcsc, null);
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.beans.beancontext.BeanContextSupport#childJustAddedHook(java.lang.Object,
-         *      java.beans.beancontext.BeanContextSupport.BCSChild)
-         */
-        protected void childJustAddedHook(Object child, BCSChild bcsc) {
-            // check lock
-            try {
-                child.wait(1);
-            } catch (InterruptedException e) {
-                // never occur
-            }
-            super.childJustAddedHook(child, bcsc);
-            records.add("childJustAddedHook", child, bcsc, null);
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.beans.beancontext.BeanContextSupport#childJustRemovedHook(java.lang.Object,
-         *      java.beans.beancontext.BeanContextSupport.BCSChild)
-         */
-        protected void childJustRemovedHook(Object child, BCSChild bcsc) {
-            // check lock
-            try {
-                child.wait(1);
-            } catch (InterruptedException e) {
-                // never occur
-            }
-            super.childJustRemovedHook(child, bcsc);
-            records.add("childJustRemovedHook", child, bcsc, null);
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.beans.beancontext.BeanContextSupport#createBCSChild(java.lang.Object,
-         *      java.lang.Object)
-         */
-        protected BCSChild createBCSChild(Object targetChild, Object peer) {
-            BCSChild result = super.createBCSChild(targetChild, peer);
-            records.add("createBCSChild", targetChild, peer, result);
-            return result;
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.beans.beancontext.BeanContextSupport#initialize()
-         */
-        protected void initialize() {
-            super.initialize();
-            if (records == null) {
-                records = new MethodInvocationRecords();
-            }
-            records.add("initialize", null);
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
-         */
-        public void propertyChange(PropertyChangeEvent pce) {
-            super.propertyChange(pce);
-            records.add("propertyChange", pce, null);
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.beans.beancontext.BeanContextSupport#validatePendingAdd(java.lang.Object)
-         */
-        protected boolean validatePendingAdd(Object targetChild) {
-            boolean result = vetoAddRemove ? false : super
-                    .validatePendingAdd(targetChild);
-            records.add("validatePendingAdd", targetChild, Boolean
-                    .valueOf(result));
-            return result;
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.beans.beancontext.BeanContextSupport#validatePendingRemove(java.lang.Object)
-         */
-        protected boolean validatePendingRemove(Object targetChild) {
-            boolean result = vetoAddRemove ? false : super
-                    .validatePendingRemove(targetChild);
-            records.add("validatePendingRemove", targetChild, Boolean
-                    .valueOf(result));
-            return result;
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.beans.VetoableChangeListener#vetoableChange(java.beans.PropertyChangeEvent)
-         */
-        public void vetoableChange(PropertyChangeEvent pce)
-                throws PropertyVetoException {
-            super.vetoableChange(pce);
-            records.add("vetoableChange", pce, null);
-        }
-    }
-
-    private static class BadChild implements BeanContextChild, BeanContextProxy {
-
-        public void setBeanContext(BeanContext bc) throws PropertyVetoException {
-        // Auto-generated method stub
-        }
-
-        public BeanContext getBeanContext() {
-            // Auto-generated method stub
-            return null;
-        }
-
-        public void addPropertyChangeListener(String name,
-                PropertyChangeListener pcl) {
-        // Auto-generated method stub
-        }
-
-        public void removePropertyChangeListener(String name,
-                PropertyChangeListener pcl) {
-        // Auto-generated method stub
-        }
-
-        public void addVetoableChangeListener(String name,
-                VetoableChangeListener vcl) {
-        // Auto-generated method stub
-        }
-
-        public void removeVetoableChangeListener(String name,
-                VetoableChangeListener vcl) {
-        // Auto-generated method stub
-        }
-
-        public BeanContextChild getBeanContextProxy() {
-            // Auto-generated method stub
-            return null;
-        }
-    }
-
-    public static void main(String[] args) {
-        junit.textui.TestRunner.run(BeanContextSupportTest.class);
-
-        // MockBeanContextSupport support = new MockBeanContextSupport();
-        // BeanContextChild childPeer = new MockBeanContextChild();
-        // BeanContextProxy child = new MockBeanContextProxy(childPeer);
-        // support.add(child);
-        // System.out.println(support.records);
-        // System.out.println(support.children());
-    }
-
-    public void testAdd_NullParam() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-
-        try {
-            support.add(null);
-            fail();
-        } catch (IllegalArgumentException e) {
-            // expected
-        }
-    }
-
-    public void testAdd_NonBCC() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        MockPropertyChangeListener l2 = new MockPropertyChangeListener();
-        MockVetoableChangeListener l3 = new MockVetoableChangeListener();
-        support.addBeanContextMembershipListener(l1);
-        support.addPropertyChangeListener("children", l2);
-        support.addVetoableChangeListener("children", l3);
-
-        Integer child = new Integer(1000);
-        support.add(child);
-        support.records.assertRecord("initialize", null);
-        support.records.assertRecord("validatePendingAdd", child, Boolean.TRUE);
-        support.records.assertRecord("createBCSChild", child, null, support
-                .children().get(child));
-        support.records.assertRecord("childJustAddedHook", child, support
-                .children().get(child), null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventAdd);
-        assertMembershipEvent(l1.lastEvent, support, null, child);
-        assertNull(l2.lastEvent);
-        assertNull(l3.lastEvent);
-    }
-
-    public void testAdd_BCC() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        MockPropertyChangeListener l2 = new MockPropertyChangeListener();
-        MockVetoableChangeListener l3 = new MockVetoableChangeListener();
-        support.addBeanContextMembershipListener(l1);
-        support.addPropertyChangeListener("children", l2);
-        support.addVetoableChangeListener("children", l3);
-
-        BeanContextChild child = new MockBeanContextChild();
-        support.add(child);
-        support.records.assertRecord("initialize", null);
-        support.records.assertRecord("validatePendingAdd", child, Boolean.TRUE);
-        support.records.assertRecord("createBCSChild", child, null, support
-                .children().get(child));
-        support.records.assertRecord("childJustAddedHook", child, support
-                .children().get(child), null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventAdd);
-        assertMembershipEvent(l1.lastEvent, support, null, child);
-        assertNull(l2.lastEvent);
-        assertNull(l3.lastEvent);
-
-        assertSame(support, child.getBeanContext());
-    }
-
-    public void testAdd_BCP() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        MockPropertyChangeListener l2 = new MockPropertyChangeListener();
-        MockVetoableChangeListener l3 = new MockVetoableChangeListener();
-        support.addBeanContextMembershipListener(l1);
-        support.addPropertyChangeListener("children", l2);
-        support.addVetoableChangeListener("children", l3);
-
-        BeanContextChild childPeer = new MockBeanContextChild();
-        BeanContextProxy child = new MockBeanContextProxy(childPeer);
-        support.add(child);
-        support.records.assertRecord("initialize", null);
-        support.records.assertRecord("validatePendingAdd", child, Boolean.TRUE);
-        support.records.assertRecord("createBCSChild", child, childPeer,
-                support.children().get(child));
-        support.records.assertRecord("createBCSChild", childPeer, child,
-                support.children().get(childPeer));
-        support.records.assertRecord("childJustAddedHook", child, support
-                .children().get(child), null);
-        support.records.assertRecord("childJustAddedHook", childPeer, support
-                .children().get(childPeer), null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventAdd);
-        assertMembershipEvent(l1.lastEvent, support, null, Arrays
-                .asList(new Object[] { child, childPeer }));
-        assertNull(l2.lastEvent);
-        assertNull(l3.lastEvent);
-
-        assertSame(support, childPeer.getBeanContext());
-        assertEquals(2, support.size());
-    }
-
-    public void testAdd_Exist() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        support.addBeanContextMembershipListener(l1);
-        Integer child = new Integer(1000);
-        support.add(child);
-        support.records.assertRecord("initialize", null);
-        support.records.assertRecord("validatePendingAdd", child, Boolean.TRUE);
-        support.records.assertRecord("createBCSChild", child, null, support
-                .children().get(child));
-        support.records.assertRecord("childJustAddedHook", child, support
-                .children().get(child), null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventAdd);
-        assertMembershipEvent(l1.lastEvent, support, null, child);
-        support.records.clear();
-        l1.clearLastEvent();
-
-        support.add(child);
-        support.records.assertEndOfRecords();
-        assertNull(l1.lastEvent);
-    }
-
-    public void testAdd_Veto() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        MockPropertyChangeListener l2 = new MockPropertyChangeListener();
-        MockVetoableChangeListener l3 = new MockVetoableChangeListener();
-        support.addBeanContextMembershipListener(l1);
-        support.addPropertyChangeListener("children", l2);
-        support.addVetoableChangeListener("children", l3);
-
-        support.vetoAddRemove = true;
-        BeanContextChild child = new MockBeanContextChild();
-        try {
-            support.add(child);
-            fail();
-        } catch (IllegalStateException e) {
-            // expected
-        }
-        support.records.assertRecord("initialize", null);
-        support.records
-                .assertRecord("validatePendingAdd", child, Boolean.FALSE);
-        support.records.assertEndOfRecords();
-        assertNull(l1.lastEvent);
-        assertNull(l2.lastEvent);
-        assertNull(l3.lastEvent);
-
-        assertNull(child.getBeanContext());
-    }
-
-    public void testAddAll() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        MockPropertyChangeListener l2 = new MockPropertyChangeListener();
-        MockVetoableChangeListener l3 = new MockVetoableChangeListener();
-        support.addBeanContextMembershipListener(l1);
-        support.addPropertyChangeListener("children", l2);
-        support.addVetoableChangeListener("children", l3);
-        support.records.assertRecord("initialize", null);
-
-        try {
-            support.addAll(Collections.EMPTY_LIST);
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // expected
-        }
-        support.records.assertEndOfRecords();
-        assertNull(l1.lastEvent);
-        assertNull(l2.lastEvent);
-        assertNull(l3.lastEvent);
-    }
-
-    public void testAddBeanContextMembershipListener_NullParam() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        try {
-            support.addBeanContextMembershipListener(null);
-            fail();
-        } catch (NullPointerException e) {
-            // expected
-        }
-    }
-
-    public void testAddBeanContextMembershipListener() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        MockBeanContextMembershipListener l2 = new MockBeanContextMembershipListener();
-
-        support.addBeanContextMembershipListener(l1);
-        support.addBeanContextMembershipListener(l2);
-
-        l1.clearLastEvent();
-        l2.clearLastEvent();
-        Object child = new MockBeanContextChild();
-        support.add(child);
-        assertTrue(l1.lastEventAdd);
-        assertMembershipEvent(l1.lastEvent, support, null, child);
-        assertTrue(l2.lastEventAdd);
-        assertMembershipEvent(l2.lastEvent, support, null, child);
-
-        l1.clearLastEvent();
-        l2.clearLastEvent();
-        support.add(child);
-        assertNull(l1.lastEvent);
-        assertNull(l2.lastEvent);
-
-        support.removeBeanContextMembershipListener(l1);
-        l1.clearLastEvent();
-        l2.clearLastEvent();
-        support.remove(child);
-        assertNull(l1.lastEvent);
-        assertTrue(l2.lastEventRemove);
-        assertMembershipEvent(l2.lastEvent, support, null, child);
-    }
-
-    public void testAvoidingGui() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-
-        assertTrue(support.isOkToUseGui());
-        assertFalse(support.avoidingGui());
-        assertFalse(support.needsGui());
-
-        support.dontUseGui();
-        assertFalse(support.isOkToUseGui());
-        // assertFalse(support.avoidingGui());
-        assertFalse(support.needsGui());
-
-        support.okToUseGui();
-        assertTrue(support.isOkToUseGui());
-        assertFalse(support.avoidingGui());
-        assertFalse(support.needsGui());
-    }
-
-    public void testAvoidingGui_VisibleChild() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        support.add(new MockVisibility(true, false));
-        assertFalse(support.avoidingGui());
-    }
-
-    public void testBcsChildren() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        support.add(new Integer(1));
-        support.add(new MockBeanContextChild());
-
-        Collection expectedChildren = support.children().values();
-        Iterator it = support.publicBcsChildren();
-        int count = 0;
-        while (it.hasNext()) {
-            count++;
-            assertTrue(expectedChildren.contains(it.next()));
-        }
-        assertEquals(count, expectedChildren.size());
-    }
-
-    public void testBcsPreDeserializationHook() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        support.add("string value");
-        support.add(new Integer(129));
-        support.add(Locale.CHINESE);
-        support.records.clear();
-
-        byte bytes[] = serialize(support);
-        support.records.assertRecord("bcsPreSerializationHook",
-                MethodInvocationRecords.IGNORE, null);
-        support.records.assertEndOfRecords();
-
-        MockBeanContextSupport copy = (MockBeanContextSupport) deserialize(bytes);
-        copy.records.assertRecord("initialize", null);
-        copy.records.assertRecord("bcsPreDeserializationHook",
-                MethodInvocationRecords.IGNORE, null);
-        Iterator it = support.iterator();
-        while (it.hasNext()) {
-            Object expectedChild = it.next();
-            assertTrue(copy.contains(expectedChild));
-            copy.records.assertRecord("childDeserializedHook", expectedChild,
-                    MethodInvocationRecords.IGNORE, null);
-        }
-        copy.records.assertEndOfRecords();
-    }
-
-    public void testBcsPreSerializationHook() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        support.add("string value");
-        support.add(new Integer(129));
-        support.add(Locale.CHINESE);
-        support.records.clear();
-
-        serialize(support);
-        support.records.assertRecord("bcsPreSerializationHook",
-                MethodInvocationRecords.IGNORE, null);
-        support.records.assertEndOfRecords();
-    }
-
-    /*
-     * Class under test for void BeanContextSupport()
-     */
-    public void testBeanContextSupport() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-
-        assertSame(support, support.getBeanContextPeer());
-        assertTrue(support.bcmListeners().isEmpty());
-        assertTrue(support.children().isEmpty());
-        assertFalse(support.designTime());
-        assertEquals(Locale.getDefault(), support.locale());
-        assertTrue(support.isOkToUseGui());
-    }
-
-    /*
-     * Class under test for void
-     * BeanContextSupport(java.beans.beancontext.BeanContext)
-     */
-    public void testBeanContextSupportBeanContext() {
-        BeanContext ctx = new MockBeanContext();
-        MockBeanContextSupport support = new MockBeanContextSupport(ctx);
-
-        assertSame(ctx, support.getBeanContextPeer());
-        assertTrue(support.bcmListeners().isEmpty());
-        assertTrue(support.children().isEmpty());
-        assertFalse(support.designTime());
-        assertEquals(Locale.getDefault(), support.locale());
-        assertTrue(support.isOkToUseGui());
-    }
-
-    /*
-     * Class under test for void
-     * BeanContextSupport(java.beans.beancontext.BeanContext, java.util.Locale)
-     */
-    public void testBeanContextSupportBeanContextLocale() {
-        BeanContext ctx = new MockBeanContext();
-        MockBeanContextSupport support = new MockBeanContextSupport(ctx,
-                Locale.CANADA_FRENCH);
-
-        assertSame(ctx, support.getBeanContextPeer());
-        assertTrue(support.bcmListeners().isEmpty());
-        assertTrue(support.children().isEmpty());
-        assertFalse(support.designTime());
-        assertEquals(Locale.CANADA_FRENCH, support.locale());
-        assertTrue(support.isOkToUseGui());
-    }
-
-    /*
-     * Class under test for void
-     * BeanContextSupport(java.beans.beancontext.BeanContext, java.util.Locale,
-     * boolean)
-     */
-    public void testBeanContextSupportBeanContextLocaleboolean() {
-        BeanContext ctx = new MockBeanContext();
-        MockBeanContextSupport support = new MockBeanContextSupport(ctx,
-                Locale.CANADA_FRENCH, true);
-
-        assertSame(ctx, support.getBeanContextPeer());
-        assertTrue(support.bcmListeners().isEmpty());
-        assertTrue(support.children().isEmpty());
-        assertTrue(support.designTime());
-        assertEquals(Locale.CANADA_FRENCH, support.locale());
-        assertTrue(support.isOkToUseGui());
-    }
-
-    /*
-     * Class under test for void
-     * BeanContextSupport(java.beans.beancontext.BeanContext, java.util.Locale,
-     * boolean, boolean)
-     */
-    public void testBeanContextSupportBeanContextLocalebooleanboolean() {
-        BeanContext ctx = new MockBeanContext();
-        MockBeanContextSupport support = new MockBeanContextSupport(ctx,
-                Locale.CANADA_FRENCH, true, false);
-
-        assertSame(ctx, support.getBeanContextPeer());
-        assertTrue(support.bcmListeners().isEmpty());
-        assertTrue(support.children().isEmpty());
-        assertTrue(support.designTime());
-        assertEquals(Locale.CANADA_FRENCH, support.locale());
-        assertFalse(support.isOkToUseGui());
-    }
-
-    public void testBeanContextSupport_NullParam() {
-        MockBeanContextSupport support = new MockBeanContextSupport(null, null,
-                true, true);
-        assertSame(support, support.getBeanContextPeer());
-        assertTrue(support.children().isEmpty());
-        assertTrue(support.designTime());
-        assertEquals(Locale.getDefault(), support.locale());
-        assertTrue(support.isOkToUseGui());
-    }
-
-    public void testChildDeserializedHook() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        support.add("string value");
-        support.add(new Integer(129));
-        support.add(Locale.CHINESE);
-        support.records.clear();
-
-        byte bytes[] = serialize(support);
-        support.records.assertRecord("bcsPreSerializationHook",
-                MethodInvocationRecords.IGNORE, null);
-        support.records.assertEndOfRecords();
-
-        MockBeanContextSupport copy = (MockBeanContextSupport) deserialize(bytes);
-        copy.records.assertRecord("initialize", null);
-        copy.records.assertRecord("bcsPreDeserializationHook",
-                MethodInvocationRecords.IGNORE, null);
-        Iterator it = support.iterator();
-        while (it.hasNext()) {
-            Object expectedChild = it.next();
-            assertTrue(copy.contains(expectedChild));
-            copy.records.assertRecord("childDeserializedHook", expectedChild,
-                    MethodInvocationRecords.IGNORE, null);
-        }
-        copy.records.assertEndOfRecords();
-    }
-
-    public void testChildJustAddedHook() {
-    // covered by testAdd
-    }
-
-    public void testChildJustRemovedHook() {
-    // covered by testRemove
-    }
-
-    public void testClassEquals() {
-        assertTrue(MockBeanContextSupport.publicClassEquals(Integer.class,
-                Integer.class));
-        assertFalse(MockBeanContextSupport.publicClassEquals(Integer.class,
-                Double.class));
-    }
-
-    public void testClear() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        try {
-            support.clear();
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // expected
-        }
-    }
-
-    public void testContains() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        Object c1 = "string value";
-        Object c2 = new Integer(129);
-        Object c3 = new MockBeanContextChild();
-        support.add(c1);
-        support.add(c2);
-        support.add(c3);
-
-        assertTrue(support.children().containsKey(c1));
-        assertTrue(support.children().containsKey(c2));
-        assertTrue(support.children().containsKey(c3));
-        assertFalse(support.children().containsKey(null));
-        assertFalse(support.children().containsKey("xxx"));
-        assertEquals(3, support.children().size());
-
-        assertTrue(support.contains(c1));
-        assertTrue(support.contains(c2));
-        assertTrue(support.contains(c3));
-        assertFalse(support.contains(null));
-        assertFalse(support.contains("xxx"));
-        assertEquals(3, support.size());
-    }
-
-    public void testContainsAll() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        Object c1 = "string value";
-        Object c2 = new Integer(129);
-        Object c3 = new MockBeanContextChild();
-        support.add(c1);
-        support.add(c2);
-        support.add(c3);
-        ArrayList<Object> l = new ArrayList<Object>();
-        l.add(c1);
-        l.add(c2);
-        l.add(c3);
-
-        assertTrue(support.containsAll(l));
-        l.add(null);
-        assertFalse(support.containsAll(l));
-    }
-
-    public void testContainsKey() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        Object c1 = "string value";
-        Object c2 = new Integer(129);
-        Object c3 = new MockBeanContextChild();
-        support.add(c1);
-        support.add(c2);
-        support.add(c3);
-
-        assertTrue(support.children().containsKey(c1));
-        assertTrue(support.children().containsKey(c2));
-        assertTrue(support.children().containsKey(c3));
-        assertFalse(support.children().containsKey(null));
-        assertFalse(support.children().containsKey("xxx"));
-        assertEquals(3, support.children().size());
-
-        assertTrue(support.containsKey(c1));
-        assertTrue(support.containsKey(c2));
-        assertTrue(support.containsKey(c3));
-        assertFalse(support.containsKey(null));
-        assertFalse(support.containsKey("xxx"));
-        assertEquals(3, support.size());
-    }
-
-    public void testCopyChildren() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        Object c1 = "string value";
-        Object c2 = new Integer(129);
-        Object c3 = new MockBeanContextChild();
-        support.add(c1);
-        support.add(c2);
-        support.add(c3);
-
-        Object children[] = support.publicCopyChildren();
-        List childrenList = Arrays.asList(children);
-        assertEquals(3, childrenList.size());
-        assertTrue(childrenList.contains(c1));
-        assertTrue(childrenList.contains(c2));
-        assertTrue(childrenList.contains(c3));
-    }
-
-    public void testCreateBCSChild() {
-    // covered by testAdd
-    }
-
-    public void testDeserialize() {
-    // covered by testBcsPreDeserializationHook()
-    }
-
-    public void testDontUseGui() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-
-        assertTrue(support.isOkToUseGui());
-        assertFalse(support.avoidingGui()); // always false
-        assertFalse(support.needsGui()); // always false
-
-        support.dontUseGui();
-        assertFalse(support.isOkToUseGui());
-        // assertFalse(support.avoidingGui()); // always false?
-        assertFalse(support.needsGui()); // always false
-    }
-
-    public void testFireChildrenAdded() {
-    // covered by testAdd
-    }
-
-    public void testFireChildrenRemoved() {
-    // covered by testRemove
-    }
-
-    public void testGetBeanContextPeer() {
-    // covered by testConstructor
-    }
-
-    public void testGetChildBeanContextChild_NullParam() {
-        BeanContextChild result = MockBeanContextSupport
-                .publicGetChildBeanContextChild(null);
-        assertNull(result);
-    }
-
-    public void testGetChildBeanContextChild_BeanContextChild() {
-        MockBeanContextChild child = new MockBeanContextChild();
-        BeanContextChild result = MockBeanContextSupport
-                .publicGetChildBeanContextChild(child);
-        assertSame(child, result);
-    }
-
-    public void testGetChildBeanContextChild_BeanContextProxy() {
-        MockBeanContextChild child = new MockBeanContextChild();
-        MockBeanContextProxy proxy = new MockBeanContextProxy(child);
-        BeanContextChild result = MockBeanContextSupport
-                .publicGetChildBeanContextChild(proxy);
-        assertSame(child, result);
-    }
-
-    public void testGetChildBeanContextChild_Neither() {
-        Integer child = new Integer(129);
-        BeanContextChild result = MockBeanContextSupport
-                .publicGetChildBeanContextChild(child);
-        assertNull(result);
-    }
-
-    public void testGetChildBeanContextChild_Both() {
-        try {
-            MockBeanContextSupport
-                    .publicGetChildBeanContextChild(new BadChild());
-            fail();
-        } catch (IllegalArgumentException e) {
-            // expected
-        }
-    }
-
-    public void testGetChildBeanContextMembershipListener_NullParam() {
-        BeanContextMembershipListener result = MockBeanContextSupport
-                .publicGetChildBeanContextMembershipListener(null);
-        assertNull(result);
-    }
-
-    public void testGetChildBeanContextMembershipListener() {
-        MockBeanContextMembershipListener child = new MockBeanContextMembershipListener();
-        BeanContextMembershipListener result = MockBeanContextSupport
-                .publicGetChildBeanContextMembershipListener(child);
-        assertSame(child, result);
-    }
-
-    public void testGetChildBeanContextMembershipListener_WrongClass() {
-        BeanContextMembershipListener result = MockBeanContextSupport
-                .publicGetChildBeanContextMembershipListener(new Integer(129));
-        assertNull(result);
-    }
-
-    public void testGetChildPropertyChangeListener_NullParam() {
-        PropertyChangeListener result = MockBeanContextSupport
-                .publicGetChildPropertyChangeListener(null);
-        assertNull(result);
-    }
-
-    public void testGetChildPropertyChangeListener() {
-        MockBeanContextSupport child = new MockBeanContextSupport();
-        PropertyChangeListener result = MockBeanContextSupport
-                .publicGetChildPropertyChangeListener(child);
-        assertSame(child, result);
-    }
-
-    public void testGetChildPropertyChangeListener_WrongClass() {
-        PropertyChangeListener result = MockBeanContextSupport
-                .publicGetChildPropertyChangeListener(new Integer(129));
-        assertNull(result);
-    }
-
-    public void testGetChildSerializable_NullParam() {
-        Serializable result = MockBeanContextSupport
-                .publicGetChildSerializable(null);
-        assertNull(result);
-    }
-
-    public void testGetChildSerializable() {
-        MockBeanContextSupport child = new MockBeanContextSupport();
-        Serializable result = MockBeanContextSupport
-                .publicGetChildSerializable(child);
-        assertSame(child, result);
-    }
-
-    public void testGetChildSerializable_WrongClass() {
-        Serializable result = MockBeanContextSupport
-                .publicGetChildSerializable(new BadChild());
-        assertNull(result);
-    }
-
-    public void testGetChildVetoableChangeListener_NullParam() {
-        VetoableChangeListener result = MockBeanContextSupport
-                .publicGetChildVetoableChangeListener(null);
-        assertNull(result);
-    }
-
-    public void testGetChildVetoableChangeListener() {
-        MockBeanContextSupport child = new MockBeanContextSupport();
-        VetoableChangeListener result = MockBeanContextSupport
-                .publicGetChildVetoableChangeListener(child);
-        assertSame(child, result);
-    }
-
-    public void testGetChildVetoableChangeListener_WrongClass() {
-        VetoableChangeListener result = MockBeanContextSupport
-                .publicGetChildVetoableChangeListener(new Integer(129));
-        assertNull(result);
-    }
-
-    public void testGetChildVisibility_NullParam() {
-        Visibility result = MockBeanContextSupport
-                .publicGetChildVisibility(null);
-        assertNull(result);
-    }
-
-    public void testGetChildVisibility() {
-        MockBeanContextSupport child = new MockBeanContextSupport();
-        Visibility result = MockBeanContextSupport
-                .publicGetChildVisibility(child);
-        assertSame(child, result);
-    }
-
-    public void testGetChildVisibility_WrongClass() {
-        Visibility result = MockBeanContextSupport
-                .publicGetChildVisibility(new Integer(129));
-        assertNull(result);
-    }
-
-    public void testGetLocale() throws PropertyVetoException {
-        BeanContext ctx = new MockBeanContext();
-        MockBeanContextSupport support = new MockBeanContextSupport(ctx,
-                Locale.CANADA_FRENCH);
-
-        assertSame(Locale.CANADA_FRENCH, support.getLocale());
-
-        support.setLocale(Locale.CHINA);
-        assertSame(Locale.CHINA, support.getLocale());
-    }
-
-    public void testGetResource_NullParam() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextChild child = new MockBeanContextChild();
-        support.add(child);
-
-        try {
-            support.getResource(null, child);
-            fail();
-        } catch (NullPointerException e) {
-            // expected
-        }
-
-        try {
-            support.getResource("", null);
-            fail("NPE expected");
-        } catch (NullPointerException e) {
-            // expected
-        }
-    }
-
-    public void testGetResource_NonChild() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextChild child = new MockBeanContextChild();
-
-        try {
-            support.getResource("", child);
-            fail("IAE expected");
-        } catch (IllegalArgumentException e) {
-            // expected
-        }
-    }
-
-    public void testGetResource_NotExist() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextChild child = new MockBeanContextChild();
-        support.add(child);
-
-        URL url = support
-                .getResource(
-                        "org/apache/harmony/beans/tests/java/beans/beancontext/mock/nonexist",
-                        child);
-        assertNull(url);
-    }
-
-    public void testGetResource() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextChild child = new MockBeanContextChild();
-        support.add(child);
-
-        final String RESOURCE_NAME = "org/apache/harmony/beans/tests/java/beans/beancontext/mock/mockdata.txt";
-        URL url = support.getResource(RESOURCE_NAME, child);
-        assertTrue(url.toString().endsWith(RESOURCE_NAME));
-    }
-
-    public void testGetResourceAsStream_NullParam() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextChild child = new MockBeanContextChild();
-        support.add(child);
-
-        try {
-            support.getResourceAsStream(null, child);
-            fail("NPE expected");
-        } catch (NullPointerException e) {
-            // expected
-        }
-
-        try {
-            support.getResourceAsStream("", null);
-            fail("NPE expected");
-        } catch (NullPointerException e) {
-            // expected
-        }
-    }
-
-    public void testGetResourceAsStream_NonChild() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextChild child = new MockBeanContextChild();
-
-        try {
-            support.getResourceAsStream("", child);
-            fail("IAE expected");
-        } catch (IllegalArgumentException e) {
-            // expected
-        }
-    }
-
-    public void testGetResourceAsStream_NotExist() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextChild child = new MockBeanContextChild();
-        support.add(child);
-
-        InputStream ins = support
-                .getResourceAsStream(
-                        "org/apache/harmony/beans/tests/java/beans/beancontext/mock/nonexist",
-                        child);
-        assertNull(ins);
-    }
-
-    public void testGetResourceAsStream() throws IOException {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextChild child = new MockBeanContextChild();
-        support.add(child);
-
-        final String RESOURCE_NAME = "org/apache/harmony/beans/tests/java/beans/beancontext/mock/mockdata.txt";
-        InputStream ins = support.getResourceAsStream(RESOURCE_NAME, child);
-        assertEquals("mockdata", new BufferedReader(new InputStreamReader(ins))
-                .readLine());
-        ins.close();
-    }
-
-    public void testInitialize() {
-    // covered by other testcases
-    }
-
-    public void testInstantiateChild_NullParam() throws IOException,
-            ClassNotFoundException {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-
-        try {
-            support.instantiateChild(null);
-            fail("NPE expected");
-        } catch (NullPointerException e) {
-            // expected
-        }
-    }
-
-    public void testInstantiateChild() throws IOException,
-            ClassNotFoundException {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-
-        MockBeanContextChild child = (MockBeanContextChild) support
-                .instantiateChild("org.apache.harmony.beans.tests.java.beans.beancontext.mock.MockBeanContextChild");
-        assertTrue(support.contains(child));
-        assertEquals(1, support.size());
-    }
-
-    public void testIsDesignTime() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-
-        assertFalse(support.isDesignTime());
-
-        support.setDesignTime(true);
-        assertTrue(support.isDesignTime());
-    }
-
-    public void testIsEmpty() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-
-        assertTrue(support.isEmpty());
-
-        support.add("a child");
-        assertFalse(support.isEmpty());
-    }
-
-    public void testIsSerializing() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        assertFalse(support.isSerializing());
-    }
-
-    public void testIterator() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        support.add("string value");
-        support.add(new Integer(129));
-        support.add(Locale.CHINESE);
-
-        Iterator iter = support.iterator();
-        for (int i = 0; i < 3; i++) {
-            assertTrue(support.contains(iter.next()));
-            iter.remove();
-        }
-        assertFalse(iter.hasNext());
-        assertEquals(3, support.size());
-    }
-
-    public void testNeedsGui_NoVisibleChild() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        assertFalse(support.needsGui());
-
-        support.add("a child");
-        assertFalse(support.needsGui());
-
-        support.add(new MockBeanContextChild());
-        assertFalse(support.needsGui());
-    }
-
-    public void testNeedsGui_ComponentChild() {
-    /*
-     * MockBeanContextSupport support = new MockBeanContextSupport();
-     * assertFalse(support.needsGui());
-     * 
-     * Component child = new Component() {/* mock
-     */
-    // };
-    /*
-     * support.add(child); assertTrue(support.needsGui());
-     */
-    }
-
-    public void testNeedsGui_ContainerChild() {
-    // MockBeanContextSupport support = new MockBeanContextSupport();
-    // assertFalse(support.needsGui());
-    //
-    // Container child = new Container() {/* mock */
-    // };
-    // support.add(child);
-    // assertTrue(support.needsGui());
-    }
-
-    public void testNeedsGui_VisibilityChild() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        assertFalse(support.needsGui());
-
-        Visibility child = new MockVisibility(false, true);
-        support.add(child);
-        assertTrue(support.needsGui());
-    }
-
-    public void testNeedsGui_VisiblePeer() {
-    // MockBeanContextSupport peer = new MockBeanContextSupport();
-    // peer.add(new Container() {/* mock */
-    // });
-    // MockBeanContextSupport support = new MockBeanContextSupport(peer);
-    //
-    // assertTrue(support.needsGui());
-    }
-
-    public void testOkToUseGui() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-
-        assertTrue(support.isOkToUseGui());
-        assertFalse(support.avoidingGui());
-        assertFalse(support.needsGui());
-
-        support.dontUseGui();
-        assertFalse(support.isOkToUseGui());
-        // assertFalse(support.avoidingGui());
-        assertFalse(support.needsGui());
-
-        support.okToUseGui();
-        assertTrue(support.isOkToUseGui());
-        assertFalse(support.avoidingGui());
-        assertFalse(support.needsGui());
-    }
-
-    public void testPropertyChange() throws PropertyVetoException {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockPropertyChangeListener l1 = new MockPropertyChangeListener();
-        support.addPropertyChangeListener("locale", l1);
-        support.records.assertRecord("initialize", null);
-
-        support.setLocale(Locale.ITALY);
-        support.records.assertEndOfRecords();
-        assertSame(support, l1.lastEvent.getSource());
-        assertSame(Locale.getDefault(), l1.lastEvent.getOldValue());
-        assertSame(Locale.ITALY, l1.lastEvent.getNewValue());
-
-        support.addPropertyChangeListener("locale", support);
-        support.setLocale(Locale.CANADA);
-        PropertyChangeEvent evt = (PropertyChangeEvent) support.records
-                .getArg(0);
-        assertSame(support, evt.getSource());
-        assertSame(Locale.ITALY, l1.lastEvent.getOldValue());
-        assertSame(Locale.CANADA, l1.lastEvent.getNewValue());
-        support.records.assertRecord("propertyChange", evt, null);
-        support.records.assertEndOfRecords();
-    }
-
-    public void testReadChildren() throws PropertyVetoException, IOException,
-            ClassNotFoundException {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        support.setLocale(Locale.ITALY);
-        support.add("string value");
-        support.add(new Integer(129));
-        support.add(Locale.CHINESE);
-
-        byte data[] = null;
-        ByteArrayOutputStream bout = new ByteArrayOutputStream();
-        ObjectOutputStream oout = new ObjectOutputStream(bout);
-        support.writeChildren(oout);
-        oout.close();
-        data = bout.toByteArray();
-        support.records.clear();
-
-        ByteArrayInputStream bin = new ByteArrayInputStream(data);
-        ObjectInputStream oin = new ObjectInputStream(bin);
-        support.readChildren(oin);
-        oin.close();
-
-        Iterator it = support.iterator();
-        while (it.hasNext()) {
-            Object expectedChild = it.next();
-            support.records.assertRecord("childDeserializedHook",
-                    expectedChild, MethodInvocationRecords.IGNORE, null);
-        }
-        assertEquals(3, support.size());
-        support.records.assertEndOfRecords();
-    }
-
-    public void testRemoveAll() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        support.records.assertRecord("initialize", null);
-        try {
-            support.removeAll(Collections.EMPTY_LIST);
-        } catch (UnsupportedOperationException e) {
-            // expected
-        }
-        support.records.assertEndOfRecords();
-    }
-
-    public void testRemoveBeanContextMembershipListener_NullParam() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-
-        try {
-            support.removeBeanContextMembershipListener(null);
-            fail("NPE expected");
-        } catch (NullPointerException e) {
-            // expected
-        }
-    }
-
-    public void testRemoveBeanContextMembershipListener() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        MockBeanContextMembershipListener l2 = new MockBeanContextMembershipListener();
-
-        support.addBeanContextMembershipListener(l1);
-        support.addBeanContextMembershipListener(l2);
-
-        l1.clearLastEvent();
-        l2.clearLastEvent();
-        Object child = new MockBeanContextChild();
-        support.add(child);
-        assertTrue(l1.lastEventAdd);
-        assertMembershipEvent(l1.lastEvent, support, null, child);
-        assertTrue(l2.lastEventAdd);
-        assertMembershipEvent(l2.lastEvent, support, null, child);
-
-        support.removeBeanContextMembershipListener(l1);
-        l1.clearLastEvent();
-        l2.clearLastEvent();
-        support.remove(child);
-        assertNull(l1.lastEvent);
-        assertTrue(l2.lastEventRemove);
-        assertMembershipEvent(l2.lastEvent, support, null, child);
-
-        support.removeBeanContextMembershipListener(l1);
-        l1.clearLastEvent();
-        l2.clearLastEvent();
-        support.remove(child);
-        assertNull(l1.lastEvent);
-        assertNull(l2.lastEvent);
-    }
-
-    /*
-     * Class under test for boolean remove(java.lang.Object)
-     */
-    public void testRemoveObject_NullParam() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-
-        try {
-            support.remove(null);
-            fail("IAE expected");
-        } catch (IllegalArgumentException e) {
-            // expected
-        }
-    }
-
-    /*
-     * Class under test for boolean remove(java.lang.Object)
-     */
-    public void testRemoveObject_NonBCC() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        support.addBeanContextMembershipListener(l1);
-        Integer child = new Integer(1000);
-        support.add(child);
-        support.records.assertRecord("initialize", null);
-        support.records.assertRecord("validatePendingAdd", child, Boolean.TRUE);
-        support.records.assertRecord("createBCSChild", child, null, support
-                .children().get(child));
-        support.records.assertRecord("childJustAddedHook", child, support
-                .children().get(child), null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventAdd);
-        assertMembershipEvent(l1.lastEvent, support, null, child);
-        support.records.clear();
-        l1.clearLastEvent();
-
-        Object bcsChild = support.children().get(child);
-        support.remove(child);
-        support.records.assertRecord("validatePendingRemove", child,
-                Boolean.TRUE);
-        support.records.assertRecord("childJustRemovedHook", child, bcsChild,
-                null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventRemove);
-        assertMembershipEvent(l1.lastEvent, support, null, child);
-
-        assertEquals(0, support.size());
-    }
-
-    /*
-     * Class under test for boolean remove(java.lang.Object)
-     */
-    public void testRemoveObject_BCC() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        support.addBeanContextMembershipListener(l1);
-
-        BeanContextChild child = new MockBeanContextChild();
-        support.add(child);
-        support.records.assertRecord("initialize", null);
-        support.records.assertRecord("validatePendingAdd", child, Boolean.TRUE);
-        support.records.assertRecord("createBCSChild", child, null, support
-                .children().get(child));
-        support.records.assertRecord("childJustAddedHook", child, support
-                .children().get(child), null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventAdd);
-        assertMembershipEvent(l1.lastEvent, support, null, child);
-        support.records.clear();
-        l1.clearLastEvent();
-
-        Object bcsChild = support.children().get(child);
-        support.remove(child);
-        support.records.assertRecord("validatePendingRemove", child,
-                Boolean.TRUE);
-        support.records.assertRecord("childJustRemovedHook", child, bcsChild,
-                null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventRemove);
-        assertMembershipEvent(l1.lastEvent, support, null, child);
-
-        assertNull(child.getBeanContext());
-        assertEquals(0, support.size());
-    }
-
-    /*
-     * Class under test for boolean remove(java.lang.Object)
-     */
-    public void testRemoveObject_BCP() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        support.addBeanContextMembershipListener(l1);
-
-        BeanContextChild childPeer = new MockBeanContextChild();
-        BeanContextProxy child = new MockBeanContextProxy(childPeer);
-        support.add(child);
-        support.records.assertRecord("initialize", null);
-        support.records.assertRecord("validatePendingAdd", child, Boolean.TRUE);
-        support.records.assertRecord("createBCSChild", child, childPeer,
-                support.children().get(child));
-        support.records.assertRecord("createBCSChild", childPeer, child,
-                support.children().get(childPeer));
-        support.records.assertRecord("childJustAddedHook", child, support
-                .children().get(child), null);
-        support.records.assertRecord("childJustAddedHook", childPeer, support
-                .children().get(childPeer), null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventAdd);
-        assertMembershipEvent(l1.lastEvent, support, null, Arrays
-                .asList(new Object[] { child, childPeer }));
-        support.records.clear();
-        l1.clearLastEvent();
-
-        Object bcsChild = support.children().get(child);
-        Object bcsChildPeer = support.children().get(childPeer);
-        support.remove(child);
-        support.records.assertRecord("validatePendingRemove", child,
-                Boolean.TRUE);
-        support.records.assertRecord("childJustRemovedHook", child, bcsChild,
-                null);
-        support.records.assertRecord("childJustRemovedHook", childPeer,
-                bcsChildPeer, null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventRemove);
-        assertMembershipEvent(l1.lastEvent, support, null, Arrays
-                .asList(new Object[] { child, childPeer }));
-
-        assertNull(childPeer.getBeanContext());
-        assertEquals(0, support.size());
-    }
-
-    /*
-     * Class under test for boolean remove(java.lang.Object)
-     */
-    public void testRemoveObject_BCP2() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        support.addBeanContextMembershipListener(l1);
-
-        BeanContextChild childPeer = new MockBeanContextChild();
-        BeanContextProxy child = new MockBeanContextProxy(childPeer);
-        support.add(child);
-        support.records.assertRecord("initialize", null);
-        support.records.assertRecord("validatePendingAdd", child, Boolean.TRUE);
-        support.records.assertRecord("createBCSChild", child, childPeer,
-                support.children().get(child));
-        support.records.assertRecord("createBCSChild", childPeer, child,
-                support.children().get(childPeer));
-        support.records.assertRecord("childJustAddedHook", child, support
-                .children().get(child), null);
-        support.records.assertRecord("childJustAddedHook", childPeer, support
-                .children().get(childPeer), null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventAdd);
-        assertMembershipEvent(l1.lastEvent, support, null, Arrays
-                .asList(new Object[] { child, childPeer }));
-        support.records.clear();
-        l1.clearLastEvent();
-
-        Object bcsChild = support.children().get(child);
-        Object bcsChildPeer = support.children().get(childPeer);
-        support.remove(childPeer);
-        support.records.assertRecord("validatePendingRemove", childPeer,
-                Boolean.TRUE);
-        support.records.assertRecord("childJustRemovedHook", childPeer,
-                bcsChildPeer, null);
-        support.records.assertRecord("childJustRemovedHook", child, bcsChild,
-                null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventRemove);
-        assertMembershipEvent(l1.lastEvent, support, null, Arrays
-                .asList(new Object[] { child, childPeer }));
-
-        assertNull(childPeer.getBeanContext());
-        assertEquals(0, support.size());
-    }
-
-    /*
-     * Class under test for boolean remove(java.lang.Object)
-     */
-    public void testRemoveObject_NonExist() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        support.addBeanContextMembershipListener(l1);
-
-        support.remove(new MockBeanContextChild());
-        support.records.assertRecord("initialize", null);
-        support.records.assertEndOfRecords();
-        assertNull(l1.lastEvent);
-
-        assertEquals(0, support.size());
-    }
-
-    /*
-     * Class under test for boolean remove(java.lang.Object)
-     */
-    public void testRemoveObject_Veto() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        support.addBeanContextMembershipListener(l1);
-
-        BeanContextChild child = new MockBeanContextChild();
-        support.add(child);
-        support.records.assertRecord("initialize", null);
-        support.records.assertRecord("validatePendingAdd", child, Boolean.TRUE);
-        support.records.assertRecord("createBCSChild", child, null, support
-                .children().get(child));
-        support.records.assertRecord("childJustAddedHook", child, support
-                .children().get(child), null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventAdd);
-        assertMembershipEvent(l1.lastEvent, support, null, child);
-        support.records.clear();
-        l1.clearLastEvent();
-
-        support.children().get(child);
-        support.vetoAddRemove = true;
-        try {
-            support.remove(child);
-            fail("IllegalStateException expected");
-        } catch (IllegalStateException e) {
-            // expected
-        }
-        support.records.assertRecord("validatePendingRemove", child,
-                Boolean.FALSE);
-        support.records.assertEndOfRecords();
-        assertNull(l1.lastEvent);
-
-        assertSame(support, child.getBeanContext());
-        assertEquals(1, support.size());
-    }
-
-    /*
-     * Class under test for boolean remove(java.lang.Object, boolean)
-     */
-    public void testRemoveObjectboolean() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockBeanContextMembershipListener l1 = new MockBeanContextMembershipListener();
-        support.addBeanContextMembershipListener(l1);
-
-        BeanContextChild child = new MockBeanContextChild();
-        support.add(child);
-        support.records.assertRecord("initialize", null);
-        support.records.assertRecord("validatePendingAdd", child, Boolean.TRUE);
-        support.records.assertRecord("createBCSChild", child, null, support
-                .children().get(child));
-        support.records.assertRecord("childJustAddedHook", child, support
-                .children().get(child), null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventAdd);
-        assertMembershipEvent(l1.lastEvent, support, null, child);
-        support.records.clear();
-        l1.clearLastEvent();
-
-        Object bcsChild = support.children().get(child);
-        support.publicRemove(child, false); // don't call child's setBeanContext
-        support.records.assertRecord("validatePendingRemove", child,
-                Boolean.TRUE);
-        support.records.assertRecord("childJustRemovedHook", child, bcsChild,
-                null);
-        support.records.assertEndOfRecords();
-        assertTrue(l1.lastEventRemove);
-        assertMembershipEvent(l1.lastEvent, support, null, child);
-
-        assertSame(support, child.getBeanContext());
-        assertEquals(0, support.size());
-    }
-
-    public void testRetainAll() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        try {
-            support.retainAll(Collections.EMPTY_LIST);
-            fail("UnsupportedOperationException expected");
-        } catch (UnsupportedOperationException e) {
-            // expected
-        }
-    }
-
-    public void testSerialize() {
-    // covered by testBcsPreSerializationHook
-    }
-
-    public void testSetDesignTime() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockPropertyChangeListener l1 = new MockPropertyChangeListener();
-        MockVetoableChangeListener l2 = new MockVetoableChangeListener();
-        support.addPropertyChangeListener("designTime", l1);
-        support.addVetoableChangeListener("designTime", l2);
-        assertFalse(support.isDesignTime());
-        support.records.assertRecord("initialize", null);
-        support.records.assertEndOfRecords();
-
-        support.setDesignTime(true);
-        support.records.assertEndOfRecords();
-        assertNull(l1.lastEvent);
-        assertNull(l2.lastEvent);
-    }
-
-    public void testSetLocale_NullParam() throws PropertyVetoException {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        support.setLocale(Locale.ITALY);
-        assertSame(Locale.ITALY, support.getLocale());
-        support.records.assertRecord("initialize", null);
-        support.records.assertEndOfRecords();
-
-        support.setLocale(null);
-        assertSame(Locale.ITALY, support.getLocale());
-        support.records.assertEndOfRecords();
-    }
-
-    public void testSetLocale() throws PropertyVetoException {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockPropertyChangeListener l1 = new MockPropertyChangeListener();
-        MockVetoableChangeListener l2 = new MockVetoableChangeListener();
-        support.addPropertyChangeListener("locale", l1);
-        support.addVetoableChangeListener("locale", l2);
-        assertSame(Locale.getDefault(), support.getLocale());
-        support.records.assertRecord("initialize", null);
-        support.records.assertEndOfRecords();
-
-        support.setLocale(Locale.ITALY);
-        assertSame(Locale.ITALY, support.getLocale());
-        support.records.assertEndOfRecords();
-        assertSame(support, l1.lastEvent.getSource());
-        assertEquals("locale", l1.lastEvent.getPropertyName());
-        assertEquals(Locale.getDefault(), l1.lastEvent.getOldValue());
-        assertEquals(Locale.ITALY, l1.lastEvent.getNewValue());
-        assertSame(support, l2.lastEvent.getSource());
-        assertEquals("locale", l2.lastEvent.getPropertyName());
-        assertEquals(Locale.getDefault(), l2.lastEvent.getOldValue());
-        assertEquals(Locale.ITALY, l2.lastEvent.getNewValue());
-    }
-
-    public void testSetLocale_Veto() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockPropertyChangeListener l1 = new MockPropertyChangeListener();
-        MockVetoChangeListener l2 = new MockVetoChangeListener();
-        support.addPropertyChangeListener("locale", l1);
-        support.addVetoableChangeListener("locale", l2);
-        assertSame(Locale.getDefault(), support.getLocale());
-        support.records.assertRecord("initialize", null);
-        support.records.assertEndOfRecords();
-
-        try {
-            support.setLocale(Locale.ITALY);
-            fail("PropertyVetoException expected");
-        } catch (PropertyVetoException e) {
-            // expected
-        }
-        assertSame(Locale.getDefault(), support.getLocale());
-        support.records.assertEndOfRecords();
-        assertNull(l1.lastEvent);
-        assertSame(support, l2.lastEvent.getSource());
-        assertEquals("locale", l2.lastEvent.getPropertyName());
-        assertEquals(Locale.getDefault(), l2.lastEvent.getNewValue());
-        assertEquals(Locale.ITALY, l2.lastEvent.getOldValue());
-    }
-
-    public void testSize() {
-    // covered by other testcases
-    }
-
-    /*
-     * Class under test for java.lang.Object[] toArray()
-     */
-    public void testToArray() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-
-        Object[] array = support.toArray();
-        assertEquals(0, array.length);
-
-        support.add(new Integer(1000));
-        support.add("a child");
-        support.add(new MockBeanContextChild());
-        array = support.toArray();
-        assertEquals(3, array.length);
-        int count = 0;
-        for (int i = 0; i < array.length; i++) {
-            if (array[i] instanceof Integer) {
-                assertEquals(new Integer(1000), array[i]);
-                count += 1;
-            }
-            if (array[i] instanceof String) {
-                assertEquals("a child", array[i]);
-                count += 2;
-            }
-            if (array[i] instanceof MockBeanContextChild) {
-                count += 4;
-            }
-        }
-        assertEquals(7, count);
-    }
-
-    /*
-     * Class under test for java.lang.Object[] toArray(java.lang.Object[])
-     */
-    public void testToArrayObjectArray_NullParam() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        try {
-            support.toArray(null);
-            fail("NPE expected");
-        } catch (NullPointerException e) {
-            // expected
-        }
-    }
-
-    /*
-     * Class under test for java.lang.Object[] toArray(java.lang.Object[])
-     */
-    public void testToArrayObjectArray_WrongType() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        support.add("a");
-        support.add("b");
-        support.add("c");
-        try {
-            support.toArray(new Integer[0]);
-            fail("ArrayStoreException expected");
-        } catch (ArrayStoreException e) {
-            // expected
-        }
-    }
-
-    /*
-     * Class under test for java.lang.Object[] toArray(java.lang.Object[])
-     */
-    public void testToArrayObjectArray_LesserLength() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        support.add("a");
-        support.add("b");
-        support.add("c");
-        String in[] = new String[] { "1" };
-        String out[] = (String[]) support.toArray(in);
-        assertNotSame(in, out);
-        List expected = Arrays.asList(new String[] { "a", "b", "c" });
-        assertEquals(expected.size(), out.length);
-        for (int i = 0; i < out.length; i++) {
-            assertTrue(expected.contains(out[i]));
-        }
-    }
-
-    /*
-     * Class under test for java.lang.Object[] toArray(java.lang.Object[])
-     */
-    public void testToArrayObjectArray_RightLength() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        support.add("a");
-        support.add("b");
-        support.add("c");
-        String in[] = new String[3];
-        String out[] = (String[]) support.toArray(in);
-        assertSame(in, out);
-        List expected = Arrays.asList(new String[] { "a", "b", "c" });
-        assertEquals(expected.size(), out.length);
-        for (int i = 0; i < out.length; i++) {
-            assertTrue(expected.contains(out[i]));
-        }
-    }
-
-    /*
-     * Class under test for java.lang.Object[] toArray(java.lang.Object[])
-     */
-    public void testToArrayObjectArray_GreaterLength() {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        support.add("a");
-        support.add("b");
-        support.add("c");
-        String in[] = new String[5];
-        String out[] = (String[]) support.toArray(in);
-        assertSame(in, out);
-        List expected = Arrays.asList(new String[] { "a", "b", "c" });
-        for (int i = 0; i < expected.size(); i++) {
-            assertTrue(expected.contains(out[i]));
-        }
-        assertNull(out[3]);
-        assertNull(out[4]);
-    }
-
-    public void testValidatePendingAdd() {
-    // coverd by testAdd
-    }
-
-    public void testValidatePendingRemove() {
-    // coverd by testRemove
-    }
-
-    public void testVetoableChange() throws PropertyVetoException {
-        MockBeanContextSupport support = new MockBeanContextSupport();
-        MockVetoableChangeListener l1 = new MockVetoableChangeListener();
-        support.addVetoableChangeListener("locale", l1);
-        support.records.assertRecord("initialize", null);
-
-        support.setLocale(Locale.ITALY);
-        support.records.assertEndOfRecords();
-        assertSame(support, l1.lastEvent.getSource());
-        assertSame(Locale.getDefault(), l1.lastEvent.getOldValue());
-        assertSame(Locale.ITALY, l1.lastEvent.getNewValue());
-
-        support.addVetoableChangeListener("locale", support);
-        support.setLocale(Locale.CANADA);
-        PropertyChangeEvent evt = (PropertyChangeEvent) support.records
-                .getArg(0);
-        assertSame(support, evt.getSource());
-        assertEquals("locale", evt.getPropertyName());
-        assertSame(Locale.ITALY, l1.lastEvent.getOldValue());
-        assertSame(Locale.CANADA, l1.lastEvent.getNewValue());
-        support.records.assertRecord("vetoableChange", evt, null);
-        support.records.assertEndOfRecords();
-    }
-
-    public void testWriteChildren() {
-    // covered by testReadChildren()
-    }
-
-    public void testSerialization_NoPeer() throws IOException,
-            ClassNotFoundException {
-        BeanContextSupport support = new BeanContextSupport(null, Locale.ITALY,
-                true, true);
-        support
-                .addBeanContextMembershipListener(new MockBeanContextMembershipListener());
-        support
-                .addBeanContextMembershipListener(new MockBeanContextMembershipListenerS(
-                        "l2"));
-        support
-                .addBeanContextMembershipListener(new MockBeanContextMembershipListenerS(
-                        "l3"));
-        support
-                .addBeanContextMembershipListener(new MockBeanContextMembershipListener());
-        support.add("abcd");
-        support.add(new MockBeanContextChild());
-        support.add(new MockBeanContextChildS("a child"));
-        support.add(new MockBeanContextChild());
-        support.add("1234");
-        support.add(new MockBeanContextProxyS("proxy",
-                new MockBeanContextChildS("b child")));
-
-        assertEqualsSerially(support, (BeanContextSupport) SerializationTester
-                .getDeserilizedObject(support));
-    }
-
-    public void testSerialization_Peer() throws IOException,
-            ClassNotFoundException {
-        MockBeanContextDelegateS mock = new MockBeanContextDelegateS("main id");
-        BeanContextSupport support = mock.support;
-        support
-                .addBeanContextMembershipListener(new MockBeanContextMembershipListener());
-        support
-                .addBeanContextMembershipListener(new MockBeanContextMembershipListenerS(
-                        "l2"));
-        support
-                .addBeanContextMembershipListener(new MockBeanContextMembershipListenerS(
-                        "l3"));
-        support
-                .addBeanContextMembershipListener(new MockBeanContextMembershipListener());
-        support.add("abcd");
-        support.add(new MockBeanContextChild());
-        support.add(new MockBeanContextChildS("a child"));
-        support.add(new MockBeanContextChild());
-        support.add("1234");
-        support.add(new MockBeanContextProxyS("proxy",
-                new MockBeanContextChildS("b child")));
-
-        MockBeanContextDelegateS serMock = (MockBeanContextDelegateS) SerializationTester
-                .getDeserilizedObject(mock);
-        assertEquals(mock.id, serMock.id);
-        assertSame(mock, mock.support.beanContextChildPeer);
-        assertSame(serMock, serMock.support.beanContextChildPeer);
-        assertEqualsSerially(mock.support, serMock.support);
-    }
-
-    public void testSerialization_Compatibility() throws Exception {
-        MockBeanContextDelegateS mock = new MockBeanContextDelegateS("main id");
-        BeanContextSupport support = mock.support;
-        support
-                .addBeanContextMembershipListener(new MockBeanContextMembershipListener());
-        support
-                .addBeanContextMembershipListener(new MockBeanContextMembershipListenerS(
-                        "l2"));
-        support
-                .addBeanContextMembershipListener(new MockBeanContextMembershipListenerS(
-                        "l3"));
-        support
-                .addBeanContextMembershipListener(new MockBeanContextMembershipListener());
-        support.add("abcd");
-        support.add(new MockBeanContextChild());
-        support.add(new MockBeanContextChildS("a child"));
-        support.add(new MockBeanContextChild());
-        support.add("1234");
-
-        MockBeanContextDelegateS serMock = (MockBeanContextDelegateS) SerializationTester
-                .readObject(mock,
-                        "serialization/java/beans/beancontext/BeanContextSupport.ser");
-        assertEquals(mock.id, serMock.id);
-        assertSame(mock, mock.support.beanContextChildPeer);
-        assertSame(serMock, serMock.support.beanContextChildPeer);
-        assertEqualsSerially(mock.support, serMock.support);
-    }
-
-    private byte[] serialize(Serializable obj) {
-        try {
-            ByteArrayOutputStream bout = new ByteArrayOutputStream();
-            ObjectOutputStream oout = new ObjectOutputStream(bout);
-            oout.writeObject(obj);
-            oout.close();
-            return bout.toByteArray();
-        } catch (IOException e) {
-            e.printStackTrace();
-            throw new RuntimeException();
-        }
-    }
-
-    private Object deserialize(byte[] bytes) {
-        try {
-            ByteArrayInputStream bin = new ByteArrayInputStream(bytes);
-            ObjectInputStream oin = new ObjectInputStream(bin);
-            Object result = oin.readObject();
-            oin.close();
-            return result;
-        } catch (Exception e) {
-            e.printStackTrace();
-            throw new RuntimeException();
-        }
-    }
-
-    private void assertMembershipEvent(BeanContextMembershipEvent evt,
-            BeanContext ctx, BeanContext pFrom, Object changes) {
-        assertSame(ctx, evt.getSource());
-        assertSame(ctx, evt.getBeanContext());
-        assertSame(pFrom, evt.getPropagatedFrom());
-        if (changes instanceof Collection) {
-            Collection changeCollection = (Collection) changes;
-            assertEquals(changeCollection.size(), evt.size());
-            for (Iterator iter = changeCollection.iterator(); iter.hasNext();) {
-                assertTrue(evt.contains(iter.next()));
-            }
-        } else {
-            assertEquals(1, evt.size());
-            assertTrue(evt.contains(changes));
-        }
-    }
-
-    public static void assertEqualsSerially(BeanContextSupport orig,
-            BeanContextSupport ser) {
-
-        // check bcmListeners
-        ArrayList origBcmListeners = (ArrayList) Utils.getField(orig,
-                "bcmListeners");
-        ArrayList serBcmListeners = (ArrayList) Utils.getField(ser,
-                "bcmListeners");
-        int i = 0, j = 0;
-        while (i < origBcmListeners.size()) {
-            Object l1 = origBcmListeners.get(i);
-            if (l1 instanceof Serializable) {
-                Object l2 = serBcmListeners.get(j);
-                assertSame(l1.getClass(), l2.getClass());
-                if (l1 instanceof MockBeanContextMembershipListenerS) {
-                    assertEquals(((MockBeanContextMembershipListenerS) l1).id,
-                            ((MockBeanContextMembershipListenerS) l2).id);
-                }
-                j++;
-            }
-            i++;
-        }
-        assertEquals(j, serBcmListeners.size());
-
-        // check children
-        HashMap origChildren = (HashMap) Utils.getField(orig, "children");
-        HashMap serChildren = (HashMap) Utils.getField(ser, "children");
-        int count = 0;
-        for (Iterator iter = origChildren.keySet().iterator(); iter.hasNext();) {
-            Object child = iter.next();
-            if (child instanceof Serializable) {
-                if (child instanceof String) {
-                    assertTrue(serChildren.containsKey(child));
-                }
-                if (child instanceof MockBeanContextChildS) {
-                    assertTrue(serChildren.containsKey(child));
-                    MockBeanContextChildS serChild = (MockBeanContextChildS) Utils
-                            .getField(serChildren.get(child), "child");
-                    assertSame(ser.getBeanContextPeer(), serChild
-                            .getBeanContext());
-                }
-                if (child instanceof MockBeanContextProxyS) {
-                    assertTrue(serChildren.containsKey(child));
-                }
-                count++;
-            }
-        }
-        assertEquals(count, serChildren.size());
-
-        // check other fields
-        assertEquals(Utils.getField(orig, "locale"), Utils.getField(ser,
-                "locale"));
-        assertEquals(Utils.getField(orig, "okToUseGui"), Utils.getField(ser,
-                "okToUseGui"));
-        assertEquals(Utils.getField(orig, "designTime"), Utils.getField(ser,
-                "designTime"));
-    }
-}
+/* Copyright 2005 The Apache Software Foundation or its licensors, as applicable
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.harmony.beans.tests.java.beans.beancontext;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyVetoException;
+import java.beans.VetoableChangeListener;
+import java.beans.Visibility;
+import java.beans.beancontext.BeanContext;
+import java.beans.beancontext.BeanContextChild;
+import java.beans.beancontext.BeanContextMembershipEvent;
+import java.beans.beancontext.BeanContextMembershipListener;
+import java.beans.beancontext.BeanContextProxy;
+import java.beans.beancontext.BeanContextSupport;
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+
+import junit.framework.TestCase;
+
+import org.apache.harmony.beans.tests.support.beancontext.MethodInvocationRecords;
+import org.apache.harmony.beans.tests.support.beancontext.Utils;
+import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContext;
+import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextChild;
+import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextChildS;
+import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextDelegateS;
+import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextMembershipListener;
+import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextMembershipListenerS;
+import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextProxy;
+import org.apache.harmony.beans.tests.support.beancontext.mock.MockBeanContextProxyS;
+import org.apache.harmony.beans.tests.support.beancontext.mock.MockPropertyChangeListener;
+import org.apache.harmony.beans.tests.support.beancontext.mock.MockVetoChangeListener;
+import org.apache.harmony.beans.tests.support.beancontext.mock.MockVetoableChangeListener;
+import org.apache.harmony.beans.tests.support.beancontext.mock.MockVisibility;
+
+import tests.util.SerializationTester;
+
+/**
+ * Test BeanContextSupport
+ */
+public class BeanContextSupportTest extends TestCase {
+
+    private static class MockBeanContextSupport extends BeanContextSupport {
+        
+        static final long serialVersionUID = -4165267256277214588L;
+
+        public transient MethodInvocationRecords records;
+
+        public transient boolean vetoAddRemove = false;
+
+        /**
+         * 
+         */
+        public MockBeanContextSupport() {
+            super();
+        }
+
+        /**
+         * @param peer
+         */
+        public MockBeanContextSupport(BeanContext peer) {
+            super(peer);
+        }
+
+        /**
+         * @param peer
+         * @param lcle
+         */
+        public MockBeanContextSupport(BeanContext peer, Locale lcle) {
+            super(peer, lcle);
+        }
+
+        /**
+         * @param peer
+         * @param lcle
+         * @param dtime
+         */
+        public MockBeanContextSupport(BeanContext peer, Locale lcle,
+                boolean dtime) {
+            super(peer, lcle, dtime);
+        }
+
+        /**
+         * @param peer
+         * @param lcle
+         * @param dTime
+         * @param visible
+         */
+        public MockBeanContextSupport(BeanContext peer, Locale lcle,
+                boolean dTime, boolean visible) {
+            super(peer, lcle, dTime, visible);
+        }
+
+        public ArrayList bcmListeners() {
+            return bcmListeners;
+        }
+
+        public Iterator publicBcsChildren() {
+            return this.bcsChildren();
+        }
+
+        public static boolean publicClassEquals(Class c1, Class c2) {
+            return classEquals(c1, c2);
+        }
+
+        public Object[] publicCopyChildren() {

[... 1984 lines stripped ...]


Mime
View raw message