You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ml...@apache.org on 2006/06/08 05:40:30 UTC

svn commit: r412641 [10/32] - in /incubator/harmony/enhanced/classlib/trunk/modules/beans/src: main/java/java/beans/ main/java/java/beans/beancontext/ test/java-internal/java/beans/beancontext/ test/java/org/apache/harmony/beans/tests/ test/java/org/ap...

Modified: incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventSetDescriptorTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventSetDescriptorTest.java?rev=412641&r1=412640&r2=412641&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventSetDescriptorTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventSetDescriptorTest.java Wed Jun  7 20:40:24 2006
@@ -1,1301 +1,1301 @@
-/* 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;
-
-import java.beans.EventSetDescriptor;
-import java.beans.IntrospectionException;
-import java.beans.MethodDescriptor;
-import java.io.IOException;
-import java.io.Serializable;
-import java.lang.reflect.Method;
-
-import junit.framework.TestCase;
-import org.apache.harmony.beans.tests.java.beans.mock.MockFakeListener;
-import org.apache.harmony.beans.tests.java.beans.auxiliary.OtherBean;
-import org.apache.harmony.beans.tests.java.beans.auxiliary.SampleListener;
-
-
-/**
- * Unit test for EventSetDescriptor
- */
-public class EventSetDescriptorTest extends TestCase {
-
-	/*
-	 * @see TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-	}
-
-	/*
-	 * @see TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	/*
-	 * Class under test for void EventSetDescriptor(Class, String, Class,
-	 * String)
-	 */
-	public void testEventSetDescriptorClassStringClassString()
-			throws IntrospectionException, ClassNotFoundException, IOException,
-			SecurityException, NoSuchMethodException {
-		String eventSetName = "mockPropertyChange";
-		String listenerMethodName = eventSetName;
-		Class sourceClass = MockSourceClass.class;
-		Class listenerType = MockPropertyChangeListener.class;
-		EventSetDescriptor esd = null;
-		esd = new EventSetDescriptor(sourceClass, eventSetName, listenerType,
-				listenerMethodName);
-		String listenerName = getUnQualifiedClassName(listenerType);
-		Method addMethod = sourceClass.getMethod("add" + listenerName,
-				new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod("remove" + listenerName,
-				new Class[] { listenerType });
-
-		assertEquals(addMethod, esd.getAddListenerMethod());
-		assertEquals(removeMethod, esd.getRemoveListenerMethod());
-		assertNull(esd.getGetListenerMethod());
-		assertEquals(1, esd.getListenerMethods().length);
-		assertEquals(listenerMethodName, esd.getListenerMethods()[0].getName());
-		assertEquals(1, esd.getListenerMethodDescriptors().length);
-		assertEquals(listenerMethodName, esd.getListenerMethodDescriptors()[0]
-				.getMethod().getName());
-
-		assertEquals(listenerType, esd.getListenerType());
-		assertTrue(esd.isInDefaultEventSet());
-		assertFalse(esd.isUnicast());
-	}
-
-	public void testEventSetDescriptorClassStringClassString2()
-			throws IntrospectionException, ClassNotFoundException, IOException,
-			SecurityException, NoSuchMethodException {
-		String eventSetName = "mockPropertyChange";
-		String listenerMethodName = eventSetName;
-		Class sourceClass = MockSourceClass.class;
-		Class listenerType = MockPropertyChangeListener.class;
-		EventSetDescriptor esd = null;
-		try {
-			esd = new EventSetDescriptor(sourceClass, "FFF", listenerType,
-					listenerMethodName);
-			fail("Should throw IntrospectionException.");
-		} catch (IntrospectionException e) {
-
-		}
-	}
-
-	/*
-	 * Sourceclass==null
-	 */
-	public void testEventSetDescriptorClassStringClassString_sourceClassNull()
-			throws IntrospectionException {
-		String eventSetName = "mockPropertyChange";
-		String listenerMethodName = eventSetName;
-		Class sourceClass = null;
-		Class listenerType = MockPropertyChangeListener.class;
-		try {
-			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-					eventSetName, listenerType, listenerMethodName);
-			fail("Should throw NullPointerException.");
-		} catch (NullPointerException e) {
-		}
-	}
-
-	/*
-	 * Event is null
-	 */
-	public void testEventSetDescriptorClassStringClassString_EventNull()
-			throws IntrospectionException {
-		String eventSetName = "mockPropertyChange";
-		String listenerMethodName = eventSetName;
-		Class sourceClass = MockSourceClass.class;
-		Class listenerType = MockPropertyChangeListener.class;
-		try {
-			EventSetDescriptor esd = new EventSetDescriptor(sourceClass, null,
-					listenerType, listenerMethodName);
-			fail("Should throw NullPointerException.");
-		} catch (NullPointerException e) {
-		}
-	}
-
-	/*
-	 * Eventsetname=""
-	 */
-	public void testEventSetDescriptorClassStringClassString_EventEmpty()
-			throws IntrospectionException {
-		String eventSetName = "mockPropertyChange";
-		String listenerMethodName = eventSetName;
-		Class sourceClass = MockSourceClass.class;
-		Class listenerType = MockPropertyChangeListener.class;
-		try {
-			EventSetDescriptor esd = new EventSetDescriptor(sourceClass, "",
-					listenerType, listenerMethodName);
-			fail("Should throw StringIndexOutOfBoundsException.");
-		} catch (StringIndexOutOfBoundsException e) {
-		}
-	}
-
-	/*
-	 * Event is not a subclass of java.util.EventObject.
-	 */
-	public void testEventSetDescriptorClassStringClassString_EventInvalid()
-			throws IntrospectionException {
-		String eventSetName = "MockFake";
-		String listenerMethodName = "mockNotAEventObject";
-		Class sourceClass = MockSourceClass.class;
-		Class listenerType = MockPropertyChangeListener.class;
-		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-				eventSetName, listenerType, listenerMethodName);
-		assertEquals(listenerMethodName, esd.getListenerMethods()[0].getName());
-	}
-
-	public void testEventSetDescriptorClassStringClassString_AmbiguousEvent()
-			throws IntrospectionException, ClassNotFoundException, IOException,
-			SecurityException, NoSuchMethodException {
-		String eventSetName = "mockPropertyChange";
-		String listenerMethodName = eventSetName;
-		Class sourceClass = MockSourceClass.class;
-		Class listenerType = org.apache.harmony.beans.tests.java.beans.mock.MockPropertyChangeListener2.class;
-		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-				eventSetName, listenerType, listenerMethodName);
-
-		String listenerName = getUnQualifiedClassName(listenerType);
-		Method addMethod = sourceClass.getMethod("add" + listenerName,
-				new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod("remove" + listenerName,
-				new Class[] { listenerType });
-
-		assertEquals(addMethod, esd.getAddListenerMethod());
-		assertEquals(removeMethod, esd.getRemoveListenerMethod());
-		assertNull(esd.getGetListenerMethod());
-		assertEquals(1, esd.getListenerMethods().length);
-		assertEquals(listenerMethodName, esd.getListenerMethods()[0].getName());
-		assertEquals(1, esd.getListenerMethodDescriptors().length);
-		assertEquals(listenerMethodName, esd.getListenerMethodDescriptors()[0]
-				.getMethod().getName());
-
-		assertEquals(listenerType, esd.getListenerType());
-		assertTrue(esd.isInDefaultEventSet());
-		assertFalse(esd.isUnicast());
-	}
-
-	/*
-	 * ListenerType=null
-	 */
-	public void testEventSetDescriptorClassStringClassString_ListenerNull()
-			throws IntrospectionException {
-		String eventSetName = "mockPropertyChange";
-		String listenerMethodName = eventSetName;
-		Class sourceClass = MockSourceClass.class;
-		Class listenerType = null;
-		try {
-			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-					eventSetName, listenerType, listenerMethodName);
-			fail("Should throw NullPointerException.");
-		} catch (NullPointerException e) {
-		}
-	}
-
-	/*
-	 * ListenerType does not implement any EventListener
-	 */
-	public void testEventSetDescriptorClassStringClassString_ListenerInvalid()
-			throws IntrospectionException, SecurityException,
-			NoSuchMethodException {
-		String eventSetName = "MockPropertyChange";
-		String listenerMethodName = "mockPropertyChange";
-		Class sourceClass = MockSourceClass.class;
-		Class listenerType = MockFakeListener.class;
-		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-				eventSetName, listenerType, listenerMethodName);
-		String listenerName = getUnQualifiedClassName(listenerType);
-		Method addMethod = sourceClass.getMethod("add" + listenerName,
-				new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod("remove" + listenerName,
-				new Class[] { listenerType });
-
-		assertEquals(addMethod, esd.getAddListenerMethod());
-		assertEquals(removeMethod, esd.getRemoveListenerMethod());
-		assertNull(esd.getGetListenerMethod());
-		assertEquals(1, esd.getListenerMethods().length);
-		assertEquals(listenerMethodName, esd.getListenerMethods()[0].getName());
-		assertEquals(1, esd.getListenerMethodDescriptors().length);
-		assertEquals(listenerMethodName, esd.getListenerMethodDescriptors()[0]
-				.getMethod().getName());
-
-		assertEquals(listenerType, esd.getListenerType());
-		assertTrue(esd.isInDefaultEventSet());
-		assertFalse(esd.isUnicast());
-	}
-
-	/*
-	 * listenerMethodName is null
-	 */
-	public void testEventSetDescriptorClassStringClassString_listenerMethodNameNull()
-			throws IntrospectionException {
-		String eventSetName = "mockPropertyChange";
-		String listenerMethodName = null;
-		Class sourceClass = MockSourceClass.class;
-		Class listenerType = MockPropertyChangeListener.class;
-		try {
-			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-					eventSetName, listenerType, listenerMethodName);
-			fail("Should throw NullPointerException.");
-		} catch (NullPointerException e) {
-		}
-
-	}
-
-	/*
-	 * No this method specified by listenerMethodName
-	 */
-	public void testEventSetDescriptorClassStringClassString_listenerMethodNameInvalid() {
-		String eventSetName = "mockPropertyChange";
-		String listenerMethodName = "";
-		Class sourceClass = MockSourceClass.class;
-		Class listenerType = MockPropertyChangeListener.class;
-		try {
-			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-					eventSetName, listenerType, listenerMethodName);
-			fail("Should throw IntrospectionException.");
-		} catch (IntrospectionException e) {
-		}
-	}
-
-	/*
-	 * Class under test for void EventSetDescriptor(Class, String, Class,
-	 * String[], String, String)
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringString()
-			throws IntrospectionException {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = { "mockPropertyChange",
-				"mockPropertyChange2", };
-		String addMethod = "addMockPropertyChangeListener";
-		String removeMethod = "removeMockPropertyChangeListener";
-
-		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-				eventSetName, listenerType, listenerMethodNames, addMethod,
-				removeMethod);
-
-		assertEquals(addMethod, esd.getAddListenerMethod().getName());
-		assertEquals(removeMethod, esd.getRemoveListenerMethod().getName());
-		assertNull(esd.getGetListenerMethod());
-		assertEquals(2, esd.getListenerMethods().length);
-		assertEquals(listenerMethodNames[0], esd.getListenerMethods()[0]
-				.getName());
-		assertEquals(listenerMethodNames[1], esd.getListenerMethods()[1]
-				.getName());
-		assertEquals(2, esd.getListenerMethodDescriptors().length);
-		assertEquals(listenerMethodNames[0],
-				esd.getListenerMethodDescriptors()[0].getMethod().getName());
-		assertEquals(listenerMethodNames[1],
-				esd.getListenerMethodDescriptors()[1].getMethod().getName());
-
-		assertEquals(listenerType, esd.getListenerType());
-		assertTrue(esd.isInDefaultEventSet());
-		assertFalse(esd.isUnicast());
-	}
-
-	/*
-	 * sourceClass is null
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringString_sourceClassNull()
-			throws IntrospectionException {
-		Class sourceClass = null;
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = { "mockPropertyChange",
-				"mockPropertyChange2", };
-		String addMethod = "addMockPropertyChangeListener";
-		String removeMethod = "removeMockPropertyChangeListener";
-
-		try {
-			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-					eventSetName, listenerType, listenerMethodNames, addMethod,
-					removeMethod);
-			fail("Should throw NullPointerException.");
-		} catch (NullPointerException e) {
-		}
-	}
-
-	/*
-	 * Event is null
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringString_eventNull()
-			throws IntrospectionException {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = null;
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = { "mockPropertyChange",
-				"mockPropertyChange2", };
-		String addMethod = "addMockPropertyChangeListener";
-		String removeMethod = "removeMockPropertyChangeListener";
-
-		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-				eventSetName, listenerType, listenerMethodNames, addMethod,
-				removeMethod);
-		assertEquals(addMethod, esd.getAddListenerMethod().getName());
-		assertEquals(removeMethod, esd.getRemoveListenerMethod().getName());
-		assertNull(esd.getGetListenerMethod());
-		assertEquals(2, esd.getListenerMethods().length);
-		assertEquals(listenerMethodNames[0], esd.getListenerMethods()[0]
-				.getName());
-		assertEquals(listenerMethodNames[1], esd.getListenerMethods()[1]
-				.getName());
-		assertEquals(2, esd.getListenerMethodDescriptors().length);
-		assertEquals(listenerMethodNames[0],
-				esd.getListenerMethodDescriptors()[0].getMethod().getName());
-		assertEquals(listenerMethodNames[1],
-				esd.getListenerMethodDescriptors()[1].getMethod().getName());
-
-		assertEquals(listenerType, esd.getListenerType());
-		assertTrue(esd.isInDefaultEventSet());
-		assertFalse(esd.isUnicast());
-	}
-
-	/*
-	 * Eventsetname=""
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringString_eventEmpty()
-			throws IntrospectionException {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = "";
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = { "mockPropertyChange",
-				"mockPropertyChange2", };
-		String addMethod = "addMockPropertyChangeListener";
-		String removeMethod = "removeMockPropertyChangeListener";
-
-		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-				eventSetName, listenerType, listenerMethodNames, addMethod,
-				removeMethod);
-		assertEquals(addMethod, esd.getAddListenerMethod().getName());
-		assertEquals(removeMethod, esd.getRemoveListenerMethod().getName());
-		assertNull(esd.getGetListenerMethod());
-		assertEquals(2, esd.getListenerMethods().length);
-		assertEquals(listenerMethodNames[0], esd.getListenerMethods()[0]
-				.getName());
-		assertEquals(listenerMethodNames[1], esd.getListenerMethods()[1]
-				.getName());
-		// ESD does not check parameter type.
-		assertEquals(MockPropertyChangeEvent.class, esd.getListenerMethods()[1]
-				.getParameterTypes()[0]);
-
-		assertEquals(2, esd.getListenerMethodDescriptors().length);
-		assertEquals(listenerMethodNames[0],
-				esd.getListenerMethodDescriptors()[0].getMethod().getName());
-		assertEquals(listenerMethodNames[1],
-				esd.getListenerMethodDescriptors()[1].getMethod().getName());
-
-		assertEquals(listenerType, esd.getListenerType());
-		assertTrue(esd.isInDefaultEventSet());
-		assertFalse(esd.isUnicast());
-	}
-
-	/*
-	 * listenerType=null
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringString_ListenerNull()
-			throws IntrospectionException {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = null;
-		String[] listenerMethodNames = { "mockPropertyChange",
-				"mockPropertyChange2", };
-		String addMethod = "addMockPropertyChangeListener";
-		String removeMethod = "removeMockPropertyChangeListener";
-		try {
-			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-					eventSetName, listenerType, listenerMethodNames, addMethod,
-					removeMethod);
-			fail("Should throw NullPointerException.");
-		} catch (NullPointerException e) {
-		}
-
-	}
-
-	/*
-	 * listenerMethodNames=null
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringString_listenerMethodNamesNull()
-			throws IntrospectionException {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = null;
-		String addMethod = "addMockPropertyChangeListener";
-		String removeMethod = "removeMockPropertyChangeListener";
-		try {
-			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-					eventSetName, listenerType, listenerMethodNames, addMethod,
-					removeMethod);
-			fail("Should throw NullPointerException.");
-		} catch (NullPointerException e) {
-		}
-
-	}
-
-	/*
-	 * contain invalid method.
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringString_listenerMethodNamesInvalid() {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = { "mockPropertyChange_Invalid",
-				"mockPropertyChange2", };
-		String addMethod = "addMockPropertyChangeListener";
-		String removeMethod = "removeMockPropertyChangeListener";
-		try {
-			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-					eventSetName, listenerType, listenerMethodNames, addMethod,
-					removeMethod);
-			fail("Should throw IntrospectionException.");
-		} catch (IntrospectionException e) {
-		}
-	}
-
-	public void testEventSetDescriptorClassStringClassStringArrayStringString_listenerMethodNamesEmpty()
-			throws IntrospectionException {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = {};
-		String addMethod = "addMockPropertyChangeListener";
-		String removeMethod = "removeMockPropertyChangeListener";
-		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-				eventSetName, listenerType, listenerMethodNames, addMethod,
-				removeMethod);
-		assertEquals(0, esd.getListenerMethods().length);
-	}
-
-	/*
-	 * addListenerMethodName==null
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringString_addListenerMethodNameNull()
-			throws IntrospectionException {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = { "mockPropertyChange",
-				"mockPropertyChange2", };
-		String addMethod = null;
-		String removeMethod = "removeMockPropertyChangeListener";
-		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-				eventSetName, listenerType, listenerMethodNames, addMethod,
-				removeMethod);
-		assertNull(esd.getAddListenerMethod());
-	}
-
-	/*
-	 * addListenerMethodName is invalid (args)
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringString_addListenerMethodNameInvalid()
-			throws IntrospectionException {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = { "mockPropertyChange",
-				"mockPropertyChange2", };
-		String addMethod = "addMockPropertyChangeListener_Invalid";
-		String removeMethod = "removeMockPropertyChangeListener";
-		try {
-			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-					eventSetName, listenerType, listenerMethodNames, addMethod,
-					removeMethod);
-			fail("Should throw IntrospectionException.");
-		} catch (IntrospectionException e) {
-		}
-	}
-
-	/*
-	 * removeListenerMethodName==null
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringString_removeListenerMethodNameNull()
-			throws IntrospectionException {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = { "mockPropertyChange",
-				"mockPropertyChange2", };
-		String addMethod = "removeMockPropertyChangeListener";
-		String removeMethod = null;
-		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-				eventSetName, listenerType, listenerMethodNames, addMethod,
-				removeMethod);
-		assertNull(esd.getRemoveListenerMethod());
-	}
-
-	/*
-	 * removeListenerMethodName is invalid
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringString_removeListenerMethodNameInvalid()
-			throws IntrospectionException {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = { "mockPropertyChange",
-				"mockPropertyChange2", };
-		String addMethod = "removeMockPropertyChangeListener";
-		String removeMethod = "addMockPropertyChangeListener_Invalid";
-		try {
-			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-					eventSetName, listenerType, listenerMethodNames, addMethod,
-					removeMethod);
-			fail("Should throw IntrospectionException.");
-		} catch (IntrospectionException e) {
-		}
-
-	}
-
-	/*
-	 * Class under test for void EventSetDescriptor(Class, String, Class,
-	 * String[], String, String, String)
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringStringString()
-			throws IntrospectionException {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = { "mockPropertyChange",
-				"mockPropertyChange2", };
-		String addMethod = "addMockPropertyChangeListener";
-		String removeMethod = "removeMockPropertyChangeListener";
-		String getMethod = "getMockPropertyChangeListener";
-		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-				eventSetName, listenerType, listenerMethodNames, addMethod,
-				removeMethod, getMethod);
-
-		assertEquals(addMethod, esd.getAddListenerMethod().getName());
-		assertEquals(removeMethod, esd.getRemoveListenerMethod().getName());
-		assertEquals(getMethod, esd.getGetListenerMethod().getName());
-
-		assertEquals(2, esd.getListenerMethods().length);
-		assertEquals(listenerMethodNames[0], esd.getListenerMethods()[0]
-				.getName());
-		assertEquals(listenerMethodNames[1], esd.getListenerMethods()[1]
-				.getName());
-		assertEquals(2, esd.getListenerMethodDescriptors().length);
-		assertEquals(listenerMethodNames[0],
-				esd.getListenerMethodDescriptors()[0].getMethod().getName());
-		assertEquals(listenerMethodNames[1],
-				esd.getListenerMethodDescriptors()[1].getMethod().getName());
-
-		assertEquals(listenerType, esd.getListenerType());
-		assertTrue(esd.isInDefaultEventSet());
-		assertFalse(esd.isUnicast());
-	}
-
-	/*
-	 * getListenerMethodName is null
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringStringString_getListenerMethodNameNull()
-			throws IntrospectionException {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = { "mockPropertyChange",
-				"mockPropertyChange2", };
-		String addMethod = "addMockPropertyChangeListener";
-		String removeMethod = "removeMockPropertyChangeListener";
-		String getMethod = null;
-		;
-		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-				eventSetName, listenerType, listenerMethodNames, addMethod,
-				removeMethod, getMethod);
-		assertNull(esd.getGetListenerMethod());
-	}
-
-	/*
-	 * getListenerMethodName is invalid (return void)
-	 */
-	public void testEventSetDescriptorClassStringClassStringArrayStringStringString_getListenerMethodNameInvalid()
-			throws IntrospectionException {
-		Class sourceClass = MockSourceClass.class;
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		String[] listenerMethodNames = { "mockPropertyChange",
-				"mockPropertyChange2", };
-		String addMethod = "addMockPropertyChangeListener";
-		String removeMethod = "removeMockPropertyChangeListener";
-		String getMethod = addMethod;
-		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
-				eventSetName, listenerType, listenerMethodNames, addMethod,
-				removeMethod, getMethod);
-		assertEquals(addMethod, esd.getGetListenerMethod().getName());
-	}
-
-	/*
-	 * Class under test for void EventSetDescriptor(String, Class, Method[],
-	 * Method, Method)
-	 */
-	public void testEventSetDescriptorStringClassMethodArrayMethodMethod()
-			throws SecurityException, NoSuchMethodException,
-			IntrospectionException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = new Method[] {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethods, addMethod, removeMethod);
-
-		assertEquals(addMethod, esd.getAddListenerMethod());
-		assertEquals(removeMethod, esd.getRemoveListenerMethod());
-		assertNull(esd.getGetListenerMethod());
-		assertEquals(listenerMethods, esd.getListenerMethods());
-
-		assertEquals(2, esd.getListenerMethodDescriptors().length);
-		assertEquals(listenerMethods[0], esd.getListenerMethodDescriptors()[0]
-				.getMethod());
-		assertEquals(listenerMethods[1], esd.getListenerMethodDescriptors()[1]
-				.getMethod());
-
-		assertEquals(listenerType, esd.getListenerType());
-		assertTrue(esd.isInDefaultEventSet());
-		assertFalse(esd.isUnicast());
-	}
-
-	/*
-	 * eventSetName=null
-	 */
-	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_EventNull()
-			throws SecurityException, NoSuchMethodException,
-			IntrospectionException {
-		String eventSetName = null;
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = new Method[] {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethods, addMethod, removeMethod);
-
-		assertEquals(addMethod, esd.getAddListenerMethod());
-		assertEquals(removeMethod, esd.getRemoveListenerMethod());
-		assertNull(esd.getGetListenerMethod());
-		assertEquals(listenerMethods, esd.getListenerMethods());
-
-		assertEquals(2, esd.getListenerMethodDescriptors().length);
-		assertEquals(listenerMethods[0], esd.getListenerMethodDescriptors()[0]
-				.getMethod());
-		assertEquals(listenerMethods[1], esd.getListenerMethodDescriptors()[1]
-				.getMethod());
-
-		assertEquals(listenerType, esd.getListenerType());
-		assertTrue(esd.isInDefaultEventSet());
-		assertFalse(esd.isUnicast());
-	}
-
-	/*
-	 * eventSetName=""
-	 */
-	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_EventEmpty()
-			throws SecurityException, NoSuchMethodException,
-			IntrospectionException {
-		String eventSetName = "";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = new Method[] {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethods, addMethod, removeMethod);
-
-		assertEquals(addMethod, esd.getAddListenerMethod());
-		assertEquals(removeMethod, esd.getRemoveListenerMethod());
-		assertNull(esd.getGetListenerMethod());
-		assertEquals(listenerMethods, esd.getListenerMethods());
-
-		assertEquals(2, esd.getListenerMethodDescriptors().length);
-		assertEquals(listenerMethods[0], esd.getListenerMethodDescriptors()[0]
-				.getMethod());
-		assertEquals(listenerMethods[1], esd.getListenerMethodDescriptors()[1]
-				.getMethod());
-
-		assertEquals(listenerType, esd.getListenerType());
-		assertTrue(esd.isInDefaultEventSet());
-		assertFalse(esd.isUnicast());
-	}
-
-	/*
-	 * listenerType=null
-	 */
-	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_ListenerTypeNull()
-			throws SecurityException, NoSuchMethodException,
-			IntrospectionException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = new Method[] {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName, null,
-				listenerMethods, addMethod, removeMethod);
-
-		assertEquals(addMethod, esd.getAddListenerMethod());
-		assertEquals(removeMethod, esd.getRemoveListenerMethod());
-		assertNull(esd.getGetListenerMethod());
-		assertEquals(listenerMethods, esd.getListenerMethods());
-
-		assertEquals(2, esd.getListenerMethodDescriptors().length);
-		assertEquals(listenerMethods[0], esd.getListenerMethodDescriptors()[0]
-				.getMethod());
-		assertEquals(listenerMethods[1], esd.getListenerMethodDescriptors()[1]
-				.getMethod());
-
-		assertNull(esd.getListenerType());
-		assertTrue(esd.isInDefaultEventSet());
-		assertFalse(esd.isUnicast());
-	}
-
-	/*
-	 * listenerMethods=null
-	 */
-	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_listenerMethodsNull()
-			throws IntrospectionException, NoSuchMethodException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = new Method[] {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, (Method[]) null, addMethod, removeMethod);
-
-		assertEquals(addMethod, esd.getAddListenerMethod());
-		assertEquals(removeMethod, esd.getRemoveListenerMethod());
-		assertNull(esd.getGetListenerMethod());
-
-		assertNull(esd.getListenerMethods());
-		assertNull(esd.getListenerMethodDescriptors());
-
-		assertEquals(listenerType, esd.getListenerType());
-		assertTrue(esd.isInDefaultEventSet());
-		assertFalse(esd.isUnicast());
-	}
-
-	/*
-	 * listenerMethods is invalid
-	 */
-	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_listenerMethodsInvalid()
-			throws SecurityException, NoSuchMethodException,
-			IntrospectionException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = new Method[] {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange_Invalid", (Class[])null), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethods, addMethod, removeMethod);
-		assertEquals(listenerMethods, esd.getListenerMethods());
-	}
-
-	/*
-	 * addListenerMethod = null
-	 */
-	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_addListenerMethodNull()
-			throws IntrospectionException, NoSuchMethodException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = new Method[] {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethods, null, removeMethod);
-
-		assertNull(esd.getAddListenerMethod());
-	}
-
-	/*
-	 * addListenerMethod is invalid
-	 */
-	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_addListenerMethodInvalid()
-			throws IntrospectionException, NoSuchMethodException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = new Method[] {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener_Invalid", (Class[])null);
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethods, addMethod, removeMethod);
-		assertEquals(addMethod, esd.getAddListenerMethod());
-	}
-
-	/*
-	 * removeListenerMethod = null
-	 */
-	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_remveListenerMethodNull()
-			throws IntrospectionException, NoSuchMethodException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = new Method[] {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethods, null, null);
-		assertNull(esd.getRemoveListenerMethod());
-	}
-
-	/*
-	 * removeListenerMethod is invalid
-	 */
-	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_removeListenerMethodInvalid()
-			throws IntrospectionException, NoSuchMethodException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = new Method[] {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener_Invalid", (Class[])null);
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethods, addMethod, removeMethod);
-		assertEquals(removeMethod, esd.getRemoveListenerMethod());
-	}
-
-	/*
-	 * Class under test for void EventSetDescriptor(String, Class, Method[],
-	 * Method, Method, Method)
-	 */
-	public void testEventSetDescriptorStringClassMethodArrayMethodMethodMethod()
-			throws SecurityException, NoSuchMethodException,
-			IntrospectionException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = new Method[] {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-		Method getMethod = sourceClass.getMethod(
-				"getMockPropertyChangeListener", new Class[] { listenerType });
-
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethods, addMethod, removeMethod,
-				getMethod);
-
-		assertEquals(getMethod, esd.getGetListenerMethod());
-	}
-
-	/*
-	 * getListenerMethod is null
-	 */
-	public void testEventSetDescriptorStringClassMethodArrayMethodMethodMethod_getListenerMethodNull()
-			throws IntrospectionException, NoSuchMethodException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = new Method[] {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-		Method getMethod = sourceClass.getMethod(
-				"getMockPropertyChangeListener", new Class[] { listenerType });
-
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethods, addMethod, removeMethod, null);
-		assertNull(esd.getGetListenerMethod());
-	}
-
-	/*
-	 * getListenerMethod is invalid
-	 */
-	public void testEventSetDescriptorStringClassMethodArrayMethodMethodMethod_getListenerMethodInvalid()
-			throws IntrospectionException, NoSuchMethodException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = new Method[] {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-		Method getMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener_Invalid", (Class[])null);
-
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethods, addMethod, removeMethod,
-				getMethod);
-		assertEquals(getMethod, esd.getGetListenerMethod());
-	}
-
-	/*
-	 * Class under test for void EventSetDescriptor(String, Class,
-	 * MethodDescriptor[], Method, Method)
-	 */
-	public void testEventSetDescriptorStringClassMethodDescriptorArrayMethodMethod()
-			throws SecurityException, NoSuchMethodException,
-			IntrospectionException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		MethodDescriptor[] listenerMethodDescriptors = {
-				new MethodDescriptor(listenerMethods[0]),
-				new MethodDescriptor(listenerMethods[1]), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethodDescriptors, addMethod,
-				removeMethod);
-
-		assertEquals(addMethod, esd.getAddListenerMethod());
-		assertEquals(removeMethod, esd.getRemoveListenerMethod());
-		assertNull(esd.getGetListenerMethod());
-		assertEquals(listenerMethods[0], esd.getListenerMethods()[0]);
-		assertEquals(listenerMethods[1], esd.getListenerMethods()[1]);
-
-		assertEquals(2, esd.getListenerMethodDescriptors().length);
-		assertEquals(listenerMethods[0], esd.getListenerMethodDescriptors()[0]
-				.getMethod());
-		assertEquals(listenerMethods[1], esd.getListenerMethodDescriptors()[1]
-				.getMethod());
-
-		assertEquals(listenerType, esd.getListenerType());
-		assertTrue(esd.isInDefaultEventSet());
-		assertFalse(esd.isUnicast());
-	}
-
-	/*
-	 * listenerMethodDescriptors is null
-	 */
-	public void testEventSetDescriptorStringClassMethodDescriptorArrayMethodMethod_ListenerMDNull()
-			throws IntrospectionException, NoSuchMethodException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		MethodDescriptor[] listenerMethodDescriptors = {
-				new MethodDescriptor(listenerMethods[0]),
-				new MethodDescriptor(listenerMethods[1]), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, (MethodDescriptor[]) null, addMethod,
-				removeMethod);
-
-		assertNull(esd.getListenerMethodDescriptors());
-		assertNull(esd.getListenerMethods());
-	}
-
-	/*
-	 * listenerMethodDescriptors is invalid
-	 */
-	public void testEventSetDescriptorStringClassMethodDescriptorArrayMethodMethod_ListenerMDInvalid()
-			throws SecurityException, NoSuchMethodException,
-			IntrospectionException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange_Invalid", (Class[])null), };
-		MethodDescriptor[] listenerMethodDescriptors = {
-				new MethodDescriptor(listenerMethods[0]),
-				new MethodDescriptor(listenerMethods[1]), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethodDescriptors, addMethod,
-				removeMethod);
-		assertEquals(0, esd.getListenerMethods()[1].getParameterTypes().length);
-		assertEquals(listenerMethodDescriptors[1], esd
-				.getListenerMethodDescriptors()[1]);
-	}
-
-	public void testSetInDefaultEventSet() throws SecurityException,
-			NoSuchMethodException, IntrospectionException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		MethodDescriptor[] listenerMethodDescriptors = {
-				new MethodDescriptor(listenerMethods[0]),
-				new MethodDescriptor(listenerMethods[1]), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethodDescriptors, addMethod,
-				removeMethod);
-		esd.setInDefaultEventSet(true);
-		assertTrue(esd.isInDefaultEventSet());
-	}
-
-	public void testSetInDefaultEventSet_false() throws SecurityException,
-			NoSuchMethodException, IntrospectionException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		MethodDescriptor[] listenerMethodDescriptors = {
-				new MethodDescriptor(listenerMethods[0]),
-				new MethodDescriptor(listenerMethods[1]), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethodDescriptors, addMethod,
-				removeMethod);
-		assertTrue(esd.isInDefaultEventSet());
-		esd.setInDefaultEventSet(false);
-		assertFalse(esd.isInDefaultEventSet());
-	}
-
-	public void testSetUnicast() throws SecurityException,
-			NoSuchMethodException, IntrospectionException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		MethodDescriptor[] listenerMethodDescriptors = {
-				new MethodDescriptor(listenerMethods[0]),
-				new MethodDescriptor(listenerMethods[1]), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethodDescriptors, addMethod,
-				removeMethod);
-		assertFalse(esd.isUnicast());
-		esd.setInDefaultEventSet(true);
-		assertTrue(esd.isInDefaultEventSet());
-	}
-
-	public void testSetUnicast_false() throws SecurityException,
-			NoSuchMethodException, IntrospectionException {
-		String eventSetName = "MockPropertyChange";
-		Class listenerType = MockPropertyChangeListener.class;
-		Method[] listenerMethods = {
-				listenerType.getMethod("mockPropertyChange",
-						new Class[] { MockPropertyChangeEvent.class }),
-				listenerType.getMethod("mockPropertyChange2",
-						new Class[] { MockPropertyChangeEvent.class }), };
-		MethodDescriptor[] listenerMethodDescriptors = {
-				new MethodDescriptor(listenerMethods[0]),
-				new MethodDescriptor(listenerMethods[1]), };
-		Class sourceClass = MockSourceClass.class;
-		Method addMethod = sourceClass.getMethod(
-				"addMockPropertyChangeListener", new Class[] { listenerType });
-		Method removeMethod = sourceClass.getMethod(
-				"removeMockPropertyChangeListener",
-				new Class[] { listenerType });
-
-		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
-				listenerType, listenerMethodDescriptors, addMethod,
-				removeMethod);
-		assertFalse(esd.isUnicast());
-		esd.setInDefaultEventSet(false);
-		assertFalse(esd.isInDefaultEventSet());
-	}
-
-
-    /**
-     * The test checks the constructor
-     */
-    public void testEventSetDescriptorConstructor() {
-        try {
-            new EventSetDescriptor(OtherBean.class, "sample",
-                    SampleListener.class, "fireSampleEvent");
-        } catch (Exception e) {
-            fail("Exception of " + e.getClass() + 
-                " class with message " + e.getMessage() + " is thrown");
-        }
-        
-    }
-    
-	protected String getUnQualifiedClassName(Class classType) {
-		String qName = classType.getName();
-		return qName.substring(qName.lastIndexOf('.') + 1);
-	}
-
-	class MockSourceClass implements Serializable {
-
-		/**
-		 * Comment for <code>serialVersionUID</code>
-		 */
-		private static final long serialVersionUID = 1L;
-
-		public void addMockPropertyChangeListener(
-				MockPropertyChangeListener listener) {
-		}
-
-		public void addMockPropertyChangeListener_Invalid() {
-		}
-
-		public void removeMockPropertyChangeListener(
-				MockPropertyChangeListener listener) {
-		}
-
-		public MockPropertyChangeListener[] getMockPropertyChangeListener(
-				MockPropertyChangeListener listeners) {
-			return null;
-		}
-
-		public void addMockPropertyChangeListener2(
-				org.apache.harmony.beans.tests.java.beans.mock.MockPropertyChangeListener2 listener) {
-		}
-
-		public void removeMockPropertyChangeListener2(
-				org.apache.harmony.beans.tests.java.beans.mock.MockPropertyChangeListener2 listener) {
-		}
-
-		public void addMockFakeListener(MockFakeListener listener) {
-
-		}
-
-		public void removeMockFakeListener(MockFakeListener listener) {
-
-		}
-	}
-
-}
+/* 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;
+
+import java.beans.EventSetDescriptor;
+import java.beans.IntrospectionException;
+import java.beans.MethodDescriptor;
+import java.io.IOException;
+import java.io.Serializable;
+import java.lang.reflect.Method;
+
+import junit.framework.TestCase;
+import org.apache.harmony.beans.tests.java.beans.mock.MockFakeListener;
+import org.apache.harmony.beans.tests.java.beans.auxiliary.OtherBean;
+import org.apache.harmony.beans.tests.java.beans.auxiliary.SampleListener;
+
+
+/**
+ * Unit test for EventSetDescriptor
+ */
+public class EventSetDescriptorTest extends TestCase {
+
+	/*
+	 * @see TestCase#setUp()
+	 */
+	protected void setUp() throws Exception {
+		super.setUp();
+	}
+
+	/*
+	 * @see TestCase#tearDown()
+	 */
+	protected void tearDown() throws Exception {
+		super.tearDown();
+	}
+
+	/*
+	 * Class under test for void EventSetDescriptor(Class, String, Class,
+	 * String)
+	 */
+	public void testEventSetDescriptorClassStringClassString()
+			throws IntrospectionException, ClassNotFoundException, IOException,
+			SecurityException, NoSuchMethodException {
+		String eventSetName = "mockPropertyChange";
+		String listenerMethodName = eventSetName;
+		Class sourceClass = MockSourceClass.class;
+		Class listenerType = MockPropertyChangeListener.class;
+		EventSetDescriptor esd = null;
+		esd = new EventSetDescriptor(sourceClass, eventSetName, listenerType,
+				listenerMethodName);
+		String listenerName = getUnQualifiedClassName(listenerType);
+		Method addMethod = sourceClass.getMethod("add" + listenerName,
+				new Class[] { listenerType });
+		Method removeMethod = sourceClass.getMethod("remove" + listenerName,
+				new Class[] { listenerType });
+
+		assertEquals(addMethod, esd.getAddListenerMethod());
+		assertEquals(removeMethod, esd.getRemoveListenerMethod());
+		assertNull(esd.getGetListenerMethod());
+		assertEquals(1, esd.getListenerMethods().length);
+		assertEquals(listenerMethodName, esd.getListenerMethods()[0].getName());
+		assertEquals(1, esd.getListenerMethodDescriptors().length);
+		assertEquals(listenerMethodName, esd.getListenerMethodDescriptors()[0]
+				.getMethod().getName());
+
+		assertEquals(listenerType, esd.getListenerType());
+		assertTrue(esd.isInDefaultEventSet());
+		assertFalse(esd.isUnicast());
+	}
+
+	public void testEventSetDescriptorClassStringClassString2()
+			throws IntrospectionException, ClassNotFoundException, IOException,
+			SecurityException, NoSuchMethodException {
+		String eventSetName = "mockPropertyChange";
+		String listenerMethodName = eventSetName;
+		Class sourceClass = MockSourceClass.class;
+		Class listenerType = MockPropertyChangeListener.class;
+		EventSetDescriptor esd = null;
+		try {
+			esd = new EventSetDescriptor(sourceClass, "FFF", listenerType,
+					listenerMethodName);
+			fail("Should throw IntrospectionException.");
+		} catch (IntrospectionException e) {
+
+		}
+	}
+
+	/*
+	 * Sourceclass==null
+	 */
+	public void testEventSetDescriptorClassStringClassString_sourceClassNull()
+			throws IntrospectionException {
+		String eventSetName = "mockPropertyChange";
+		String listenerMethodName = eventSetName;
+		Class sourceClass = null;
+		Class listenerType = MockPropertyChangeListener.class;
+		try {
+			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+					eventSetName, listenerType, listenerMethodName);
+			fail("Should throw NullPointerException.");
+		} catch (NullPointerException e) {
+		}
+	}
+
+	/*
+	 * Event is null
+	 */
+	public void testEventSetDescriptorClassStringClassString_EventNull()
+			throws IntrospectionException {
+		String eventSetName = "mockPropertyChange";
+		String listenerMethodName = eventSetName;
+		Class sourceClass = MockSourceClass.class;
+		Class listenerType = MockPropertyChangeListener.class;
+		try {
+			EventSetDescriptor esd = new EventSetDescriptor(sourceClass, null,
+					listenerType, listenerMethodName);
+			fail("Should throw NullPointerException.");
+		} catch (NullPointerException e) {
+		}
+	}
+
+	/*
+	 * Eventsetname=""
+	 */
+	public void testEventSetDescriptorClassStringClassString_EventEmpty()
+			throws IntrospectionException {
+		String eventSetName = "mockPropertyChange";
+		String listenerMethodName = eventSetName;
+		Class sourceClass = MockSourceClass.class;
+		Class listenerType = MockPropertyChangeListener.class;
+		try {
+			EventSetDescriptor esd = new EventSetDescriptor(sourceClass, "",
+					listenerType, listenerMethodName);
+			fail("Should throw StringIndexOutOfBoundsException.");
+		} catch (StringIndexOutOfBoundsException e) {
+		}
+	}
+
+	/*
+	 * Event is not a subclass of java.util.EventObject.
+	 */
+	public void testEventSetDescriptorClassStringClassString_EventInvalid()
+			throws IntrospectionException {
+		String eventSetName = "MockFake";
+		String listenerMethodName = "mockNotAEventObject";
+		Class sourceClass = MockSourceClass.class;
+		Class listenerType = MockPropertyChangeListener.class;
+		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+				eventSetName, listenerType, listenerMethodName);
+		assertEquals(listenerMethodName, esd.getListenerMethods()[0].getName());
+	}
+
+	public void testEventSetDescriptorClassStringClassString_AmbiguousEvent()
+			throws IntrospectionException, ClassNotFoundException, IOException,
+			SecurityException, NoSuchMethodException {
+		String eventSetName = "mockPropertyChange";
+		String listenerMethodName = eventSetName;
+		Class sourceClass = MockSourceClass.class;
+		Class listenerType = org.apache.harmony.beans.tests.java.beans.mock.MockPropertyChangeListener2.class;
+		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+				eventSetName, listenerType, listenerMethodName);
+
+		String listenerName = getUnQualifiedClassName(listenerType);
+		Method addMethod = sourceClass.getMethod("add" + listenerName,
+				new Class[] { listenerType });
+		Method removeMethod = sourceClass.getMethod("remove" + listenerName,
+				new Class[] { listenerType });
+
+		assertEquals(addMethod, esd.getAddListenerMethod());
+		assertEquals(removeMethod, esd.getRemoveListenerMethod());
+		assertNull(esd.getGetListenerMethod());
+		assertEquals(1, esd.getListenerMethods().length);
+		assertEquals(listenerMethodName, esd.getListenerMethods()[0].getName());
+		assertEquals(1, esd.getListenerMethodDescriptors().length);
+		assertEquals(listenerMethodName, esd.getListenerMethodDescriptors()[0]
+				.getMethod().getName());
+
+		assertEquals(listenerType, esd.getListenerType());
+		assertTrue(esd.isInDefaultEventSet());
+		assertFalse(esd.isUnicast());
+	}
+
+	/*
+	 * ListenerType=null
+	 */
+	public void testEventSetDescriptorClassStringClassString_ListenerNull()
+			throws IntrospectionException {
+		String eventSetName = "mockPropertyChange";
+		String listenerMethodName = eventSetName;
+		Class sourceClass = MockSourceClass.class;
+		Class listenerType = null;
+		try {
+			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+					eventSetName, listenerType, listenerMethodName);
+			fail("Should throw NullPointerException.");
+		} catch (NullPointerException e) {
+		}
+	}
+
+	/*
+	 * ListenerType does not implement any EventListener
+	 */
+	public void testEventSetDescriptorClassStringClassString_ListenerInvalid()
+			throws IntrospectionException, SecurityException,
+			NoSuchMethodException {
+		String eventSetName = "MockPropertyChange";
+		String listenerMethodName = "mockPropertyChange";
+		Class sourceClass = MockSourceClass.class;
+		Class listenerType = MockFakeListener.class;
+		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+				eventSetName, listenerType, listenerMethodName);
+		String listenerName = getUnQualifiedClassName(listenerType);
+		Method addMethod = sourceClass.getMethod("add" + listenerName,
+				new Class[] { listenerType });
+		Method removeMethod = sourceClass.getMethod("remove" + listenerName,
+				new Class[] { listenerType });
+
+		assertEquals(addMethod, esd.getAddListenerMethod());
+		assertEquals(removeMethod, esd.getRemoveListenerMethod());
+		assertNull(esd.getGetListenerMethod());
+		assertEquals(1, esd.getListenerMethods().length);
+		assertEquals(listenerMethodName, esd.getListenerMethods()[0].getName());
+		assertEquals(1, esd.getListenerMethodDescriptors().length);
+		assertEquals(listenerMethodName, esd.getListenerMethodDescriptors()[0]
+				.getMethod().getName());
+
+		assertEquals(listenerType, esd.getListenerType());
+		assertTrue(esd.isInDefaultEventSet());
+		assertFalse(esd.isUnicast());
+	}
+
+	/*
+	 * listenerMethodName is null
+	 */
+	public void testEventSetDescriptorClassStringClassString_listenerMethodNameNull()
+			throws IntrospectionException {
+		String eventSetName = "mockPropertyChange";
+		String listenerMethodName = null;
+		Class sourceClass = MockSourceClass.class;
+		Class listenerType = MockPropertyChangeListener.class;
+		try {
+			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+					eventSetName, listenerType, listenerMethodName);
+			fail("Should throw NullPointerException.");
+		} catch (NullPointerException e) {
+		}
+
+	}
+
+	/*
+	 * No this method specified by listenerMethodName
+	 */
+	public void testEventSetDescriptorClassStringClassString_listenerMethodNameInvalid() {
+		String eventSetName = "mockPropertyChange";
+		String listenerMethodName = "";
+		Class sourceClass = MockSourceClass.class;
+		Class listenerType = MockPropertyChangeListener.class;
+		try {
+			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+					eventSetName, listenerType, listenerMethodName);
+			fail("Should throw IntrospectionException.");
+		} catch (IntrospectionException e) {
+		}
+	}
+
+	/*
+	 * Class under test for void EventSetDescriptor(Class, String, Class,
+	 * String[], String, String)
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringString()
+			throws IntrospectionException {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = { "mockPropertyChange",
+				"mockPropertyChange2", };
+		String addMethod = "addMockPropertyChangeListener";
+		String removeMethod = "removeMockPropertyChangeListener";
+
+		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+				eventSetName, listenerType, listenerMethodNames, addMethod,
+				removeMethod);
+
+		assertEquals(addMethod, esd.getAddListenerMethod().getName());
+		assertEquals(removeMethod, esd.getRemoveListenerMethod().getName());
+		assertNull(esd.getGetListenerMethod());
+		assertEquals(2, esd.getListenerMethods().length);
+		assertEquals(listenerMethodNames[0], esd.getListenerMethods()[0]
+				.getName());
+		assertEquals(listenerMethodNames[1], esd.getListenerMethods()[1]
+				.getName());
+		assertEquals(2, esd.getListenerMethodDescriptors().length);
+		assertEquals(listenerMethodNames[0],
+				esd.getListenerMethodDescriptors()[0].getMethod().getName());
+		assertEquals(listenerMethodNames[1],
+				esd.getListenerMethodDescriptors()[1].getMethod().getName());
+
+		assertEquals(listenerType, esd.getListenerType());
+		assertTrue(esd.isInDefaultEventSet());
+		assertFalse(esd.isUnicast());
+	}
+
+	/*
+	 * sourceClass is null
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringString_sourceClassNull()
+			throws IntrospectionException {
+		Class sourceClass = null;
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = { "mockPropertyChange",
+				"mockPropertyChange2", };
+		String addMethod = "addMockPropertyChangeListener";
+		String removeMethod = "removeMockPropertyChangeListener";
+
+		try {
+			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+					eventSetName, listenerType, listenerMethodNames, addMethod,
+					removeMethod);
+			fail("Should throw NullPointerException.");
+		} catch (NullPointerException e) {
+		}
+	}
+
+	/*
+	 * Event is null
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringString_eventNull()
+			throws IntrospectionException {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = null;
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = { "mockPropertyChange",
+				"mockPropertyChange2", };
+		String addMethod = "addMockPropertyChangeListener";
+		String removeMethod = "removeMockPropertyChangeListener";
+
+		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+				eventSetName, listenerType, listenerMethodNames, addMethod,
+				removeMethod);
+		assertEquals(addMethod, esd.getAddListenerMethod().getName());
+		assertEquals(removeMethod, esd.getRemoveListenerMethod().getName());
+		assertNull(esd.getGetListenerMethod());
+		assertEquals(2, esd.getListenerMethods().length);
+		assertEquals(listenerMethodNames[0], esd.getListenerMethods()[0]
+				.getName());
+		assertEquals(listenerMethodNames[1], esd.getListenerMethods()[1]
+				.getName());
+		assertEquals(2, esd.getListenerMethodDescriptors().length);
+		assertEquals(listenerMethodNames[0],
+				esd.getListenerMethodDescriptors()[0].getMethod().getName());
+		assertEquals(listenerMethodNames[1],
+				esd.getListenerMethodDescriptors()[1].getMethod().getName());
+
+		assertEquals(listenerType, esd.getListenerType());
+		assertTrue(esd.isInDefaultEventSet());
+		assertFalse(esd.isUnicast());
+	}
+
+	/*
+	 * Eventsetname=""
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringString_eventEmpty()
+			throws IntrospectionException {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = "";
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = { "mockPropertyChange",
+				"mockPropertyChange2", };
+		String addMethod = "addMockPropertyChangeListener";
+		String removeMethod = "removeMockPropertyChangeListener";
+
+		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+				eventSetName, listenerType, listenerMethodNames, addMethod,
+				removeMethod);
+		assertEquals(addMethod, esd.getAddListenerMethod().getName());
+		assertEquals(removeMethod, esd.getRemoveListenerMethod().getName());
+		assertNull(esd.getGetListenerMethod());
+		assertEquals(2, esd.getListenerMethods().length);
+		assertEquals(listenerMethodNames[0], esd.getListenerMethods()[0]
+				.getName());
+		assertEquals(listenerMethodNames[1], esd.getListenerMethods()[1]
+				.getName());
+		// ESD does not check parameter type.
+		assertEquals(MockPropertyChangeEvent.class, esd.getListenerMethods()[1]
+				.getParameterTypes()[0]);
+
+		assertEquals(2, esd.getListenerMethodDescriptors().length);
+		assertEquals(listenerMethodNames[0],
+				esd.getListenerMethodDescriptors()[0].getMethod().getName());
+		assertEquals(listenerMethodNames[1],
+				esd.getListenerMethodDescriptors()[1].getMethod().getName());
+
+		assertEquals(listenerType, esd.getListenerType());
+		assertTrue(esd.isInDefaultEventSet());
+		assertFalse(esd.isUnicast());
+	}
+
+	/*
+	 * listenerType=null
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringString_ListenerNull()
+			throws IntrospectionException {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = null;
+		String[] listenerMethodNames = { "mockPropertyChange",
+				"mockPropertyChange2", };
+		String addMethod = "addMockPropertyChangeListener";
+		String removeMethod = "removeMockPropertyChangeListener";
+		try {
+			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+					eventSetName, listenerType, listenerMethodNames, addMethod,
+					removeMethod);
+			fail("Should throw NullPointerException.");
+		} catch (NullPointerException e) {
+		}
+
+	}
+
+	/*
+	 * listenerMethodNames=null
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringString_listenerMethodNamesNull()
+			throws IntrospectionException {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = null;
+		String addMethod = "addMockPropertyChangeListener";
+		String removeMethod = "removeMockPropertyChangeListener";
+		try {
+			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+					eventSetName, listenerType, listenerMethodNames, addMethod,
+					removeMethod);
+			fail("Should throw NullPointerException.");
+		} catch (NullPointerException e) {
+		}
+
+	}
+
+	/*
+	 * contain invalid method.
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringString_listenerMethodNamesInvalid() {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = { "mockPropertyChange_Invalid",
+				"mockPropertyChange2", };
+		String addMethod = "addMockPropertyChangeListener";
+		String removeMethod = "removeMockPropertyChangeListener";
+		try {
+			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+					eventSetName, listenerType, listenerMethodNames, addMethod,
+					removeMethod);
+			fail("Should throw IntrospectionException.");
+		} catch (IntrospectionException e) {
+		}
+	}
+
+	public void testEventSetDescriptorClassStringClassStringArrayStringString_listenerMethodNamesEmpty()
+			throws IntrospectionException {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = {};
+		String addMethod = "addMockPropertyChangeListener";
+		String removeMethod = "removeMockPropertyChangeListener";
+		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+				eventSetName, listenerType, listenerMethodNames, addMethod,
+				removeMethod);
+		assertEquals(0, esd.getListenerMethods().length);
+	}
+
+	/*
+	 * addListenerMethodName==null
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringString_addListenerMethodNameNull()
+			throws IntrospectionException {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = { "mockPropertyChange",
+				"mockPropertyChange2", };
+		String addMethod = null;
+		String removeMethod = "removeMockPropertyChangeListener";
+		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+				eventSetName, listenerType, listenerMethodNames, addMethod,
+				removeMethod);
+		assertNull(esd.getAddListenerMethod());
+	}
+
+	/*
+	 * addListenerMethodName is invalid (args)
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringString_addListenerMethodNameInvalid()
+			throws IntrospectionException {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = { "mockPropertyChange",
+				"mockPropertyChange2", };
+		String addMethod = "addMockPropertyChangeListener_Invalid";
+		String removeMethod = "removeMockPropertyChangeListener";
+		try {
+			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+					eventSetName, listenerType, listenerMethodNames, addMethod,
+					removeMethod);
+			fail("Should throw IntrospectionException.");
+		} catch (IntrospectionException e) {
+		}
+	}
+
+	/*
+	 * removeListenerMethodName==null
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringString_removeListenerMethodNameNull()
+			throws IntrospectionException {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = { "mockPropertyChange",
+				"mockPropertyChange2", };
+		String addMethod = "removeMockPropertyChangeListener";
+		String removeMethod = null;
+		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+				eventSetName, listenerType, listenerMethodNames, addMethod,
+				removeMethod);
+		assertNull(esd.getRemoveListenerMethod());
+	}
+
+	/*
+	 * removeListenerMethodName is invalid
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringString_removeListenerMethodNameInvalid()
+			throws IntrospectionException {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = { "mockPropertyChange",
+				"mockPropertyChange2", };
+		String addMethod = "removeMockPropertyChangeListener";
+		String removeMethod = "addMockPropertyChangeListener_Invalid";
+		try {
+			EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+					eventSetName, listenerType, listenerMethodNames, addMethod,
+					removeMethod);
+			fail("Should throw IntrospectionException.");
+		} catch (IntrospectionException e) {
+		}
+
+	}
+
+	/*
+	 * Class under test for void EventSetDescriptor(Class, String, Class,
+	 * String[], String, String, String)
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringStringString()
+			throws IntrospectionException {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = { "mockPropertyChange",
+				"mockPropertyChange2", };
+		String addMethod = "addMockPropertyChangeListener";
+		String removeMethod = "removeMockPropertyChangeListener";
+		String getMethod = "getMockPropertyChangeListener";
+		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+				eventSetName, listenerType, listenerMethodNames, addMethod,
+				removeMethod, getMethod);
+
+		assertEquals(addMethod, esd.getAddListenerMethod().getName());
+		assertEquals(removeMethod, esd.getRemoveListenerMethod().getName());
+		assertEquals(getMethod, esd.getGetListenerMethod().getName());
+
+		assertEquals(2, esd.getListenerMethods().length);
+		assertEquals(listenerMethodNames[0], esd.getListenerMethods()[0]
+				.getName());
+		assertEquals(listenerMethodNames[1], esd.getListenerMethods()[1]
+				.getName());
+		assertEquals(2, esd.getListenerMethodDescriptors().length);
+		assertEquals(listenerMethodNames[0],
+				esd.getListenerMethodDescriptors()[0].getMethod().getName());
+		assertEquals(listenerMethodNames[1],
+				esd.getListenerMethodDescriptors()[1].getMethod().getName());
+
+		assertEquals(listenerType, esd.getListenerType());
+		assertTrue(esd.isInDefaultEventSet());
+		assertFalse(esd.isUnicast());
+	}
+
+	/*
+	 * getListenerMethodName is null
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringStringString_getListenerMethodNameNull()
+			throws IntrospectionException {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = { "mockPropertyChange",
+				"mockPropertyChange2", };
+		String addMethod = "addMockPropertyChangeListener";
+		String removeMethod = "removeMockPropertyChangeListener";
+		String getMethod = null;
+		;
+		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+				eventSetName, listenerType, listenerMethodNames, addMethod,
+				removeMethod, getMethod);
+		assertNull(esd.getGetListenerMethod());
+	}
+
+	/*
+	 * getListenerMethodName is invalid (return void)
+	 */
+	public void testEventSetDescriptorClassStringClassStringArrayStringStringString_getListenerMethodNameInvalid()
+			throws IntrospectionException {
+		Class sourceClass = MockSourceClass.class;
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		String[] listenerMethodNames = { "mockPropertyChange",
+				"mockPropertyChange2", };
+		String addMethod = "addMockPropertyChangeListener";
+		String removeMethod = "removeMockPropertyChangeListener";
+		String getMethod = addMethod;
+		EventSetDescriptor esd = new EventSetDescriptor(sourceClass,
+				eventSetName, listenerType, listenerMethodNames, addMethod,
+				removeMethod, getMethod);
+		assertEquals(addMethod, esd.getGetListenerMethod().getName());
+	}
+
+	/*
+	 * Class under test for void EventSetDescriptor(String, Class, Method[],
+	 * Method, Method)
+	 */
+	public void testEventSetDescriptorStringClassMethodArrayMethodMethod()
+			throws SecurityException, NoSuchMethodException,
+			IntrospectionException {
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		Method[] listenerMethods = new Method[] {
+				listenerType.getMethod("mockPropertyChange",
+						new Class[] { MockPropertyChangeEvent.class }),
+				listenerType.getMethod("mockPropertyChange2",
+						new Class[] { MockPropertyChangeEvent.class }), };
+		Class sourceClass = MockSourceClass.class;
+		Method addMethod = sourceClass.getMethod(
+				"addMockPropertyChangeListener", new Class[] { listenerType });
+		Method removeMethod = sourceClass.getMethod(
+				"removeMockPropertyChangeListener",
+				new Class[] { listenerType });
+		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
+				listenerType, listenerMethods, addMethod, removeMethod);
+
+		assertEquals(addMethod, esd.getAddListenerMethod());
+		assertEquals(removeMethod, esd.getRemoveListenerMethod());
+		assertNull(esd.getGetListenerMethod());
+		assertEquals(listenerMethods, esd.getListenerMethods());
+
+		assertEquals(2, esd.getListenerMethodDescriptors().length);
+		assertEquals(listenerMethods[0], esd.getListenerMethodDescriptors()[0]
+				.getMethod());
+		assertEquals(listenerMethods[1], esd.getListenerMethodDescriptors()[1]
+				.getMethod());
+
+		assertEquals(listenerType, esd.getListenerType());
+		assertTrue(esd.isInDefaultEventSet());
+		assertFalse(esd.isUnicast());
+	}
+
+	/*
+	 * eventSetName=null
+	 */
+	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_EventNull()
+			throws SecurityException, NoSuchMethodException,
+			IntrospectionException {
+		String eventSetName = null;
+		Class listenerType = MockPropertyChangeListener.class;
+		Method[] listenerMethods = new Method[] {
+				listenerType.getMethod("mockPropertyChange",
+						new Class[] { MockPropertyChangeEvent.class }),
+				listenerType.getMethod("mockPropertyChange2",
+						new Class[] { MockPropertyChangeEvent.class }), };
+		Class sourceClass = MockSourceClass.class;
+		Method addMethod = sourceClass.getMethod(
+				"addMockPropertyChangeListener", new Class[] { listenerType });
+		Method removeMethod = sourceClass.getMethod(
+				"removeMockPropertyChangeListener",
+				new Class[] { listenerType });
+		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
+				listenerType, listenerMethods, addMethod, removeMethod);
+
+		assertEquals(addMethod, esd.getAddListenerMethod());
+		assertEquals(removeMethod, esd.getRemoveListenerMethod());
+		assertNull(esd.getGetListenerMethod());
+		assertEquals(listenerMethods, esd.getListenerMethods());
+
+		assertEquals(2, esd.getListenerMethodDescriptors().length);
+		assertEquals(listenerMethods[0], esd.getListenerMethodDescriptors()[0]
+				.getMethod());
+		assertEquals(listenerMethods[1], esd.getListenerMethodDescriptors()[1]
+				.getMethod());
+
+		assertEquals(listenerType, esd.getListenerType());
+		assertTrue(esd.isInDefaultEventSet());
+		assertFalse(esd.isUnicast());
+	}
+
+	/*
+	 * eventSetName=""
+	 */
+	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_EventEmpty()
+			throws SecurityException, NoSuchMethodException,
+			IntrospectionException {
+		String eventSetName = "";
+		Class listenerType = MockPropertyChangeListener.class;
+		Method[] listenerMethods = new Method[] {
+				listenerType.getMethod("mockPropertyChange",
+						new Class[] { MockPropertyChangeEvent.class }),
+				listenerType.getMethod("mockPropertyChange2",
+						new Class[] { MockPropertyChangeEvent.class }), };
+		Class sourceClass = MockSourceClass.class;
+		Method addMethod = sourceClass.getMethod(
+				"addMockPropertyChangeListener", new Class[] { listenerType });
+		Method removeMethod = sourceClass.getMethod(
+				"removeMockPropertyChangeListener",
+				new Class[] { listenerType });
+		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
+				listenerType, listenerMethods, addMethod, removeMethod);
+
+		assertEquals(addMethod, esd.getAddListenerMethod());
+		assertEquals(removeMethod, esd.getRemoveListenerMethod());
+		assertNull(esd.getGetListenerMethod());
+		assertEquals(listenerMethods, esd.getListenerMethods());
+
+		assertEquals(2, esd.getListenerMethodDescriptors().length);
+		assertEquals(listenerMethods[0], esd.getListenerMethodDescriptors()[0]
+				.getMethod());
+		assertEquals(listenerMethods[1], esd.getListenerMethodDescriptors()[1]
+				.getMethod());
+
+		assertEquals(listenerType, esd.getListenerType());
+		assertTrue(esd.isInDefaultEventSet());
+		assertFalse(esd.isUnicast());
+	}
+
+	/*
+	 * listenerType=null
+	 */
+	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_ListenerTypeNull()
+			throws SecurityException, NoSuchMethodException,
+			IntrospectionException {
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		Method[] listenerMethods = new Method[] {
+				listenerType.getMethod("mockPropertyChange",
+						new Class[] { MockPropertyChangeEvent.class }),
+				listenerType.getMethod("mockPropertyChange2",
+						new Class[] { MockPropertyChangeEvent.class }), };
+		Class sourceClass = MockSourceClass.class;
+		Method addMethod = sourceClass.getMethod(
+				"addMockPropertyChangeListener", new Class[] { listenerType });
+		Method removeMethod = sourceClass.getMethod(
+				"removeMockPropertyChangeListener",
+				new Class[] { listenerType });
+		EventSetDescriptor esd = new EventSetDescriptor(eventSetName, null,
+				listenerMethods, addMethod, removeMethod);
+
+		assertEquals(addMethod, esd.getAddListenerMethod());
+		assertEquals(removeMethod, esd.getRemoveListenerMethod());
+		assertNull(esd.getGetListenerMethod());
+		assertEquals(listenerMethods, esd.getListenerMethods());
+
+		assertEquals(2, esd.getListenerMethodDescriptors().length);
+		assertEquals(listenerMethods[0], esd.getListenerMethodDescriptors()[0]
+				.getMethod());
+		assertEquals(listenerMethods[1], esd.getListenerMethodDescriptors()[1]
+				.getMethod());
+
+		assertNull(esd.getListenerType());
+		assertTrue(esd.isInDefaultEventSet());
+		assertFalse(esd.isUnicast());
+	}
+
+	/*
+	 * listenerMethods=null
+	 */
+	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_listenerMethodsNull()
+			throws IntrospectionException, NoSuchMethodException {
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		Method[] listenerMethods = new Method[] {
+				listenerType.getMethod("mockPropertyChange",
+						new Class[] { MockPropertyChangeEvent.class }),
+				listenerType.getMethod("mockPropertyChange2",
+						new Class[] { MockPropertyChangeEvent.class }), };
+		Class sourceClass = MockSourceClass.class;
+		Method addMethod = sourceClass.getMethod(
+				"addMockPropertyChangeListener", new Class[] { listenerType });
+		Method removeMethod = sourceClass.getMethod(
+				"removeMockPropertyChangeListener",
+				new Class[] { listenerType });
+		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
+				listenerType, (Method[]) null, addMethod, removeMethod);
+
+		assertEquals(addMethod, esd.getAddListenerMethod());
+		assertEquals(removeMethod, esd.getRemoveListenerMethod());
+		assertNull(esd.getGetListenerMethod());
+
+		assertNull(esd.getListenerMethods());
+		assertNull(esd.getListenerMethodDescriptors());
+
+		assertEquals(listenerType, esd.getListenerType());
+		assertTrue(esd.isInDefaultEventSet());
+		assertFalse(esd.isUnicast());
+	}
+
+	/*
+	 * listenerMethods is invalid
+	 */
+	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_listenerMethodsInvalid()
+			throws SecurityException, NoSuchMethodException,
+			IntrospectionException {
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		Method[] listenerMethods = new Method[] {
+				listenerType.getMethod("mockPropertyChange",
+						new Class[] { MockPropertyChangeEvent.class }),
+				listenerType.getMethod("mockPropertyChange_Invalid", (Class[])null), };
+		Class sourceClass = MockSourceClass.class;
+		Method addMethod = sourceClass.getMethod(
+				"addMockPropertyChangeListener", new Class[] { listenerType });
+		Method removeMethod = sourceClass.getMethod(
+				"removeMockPropertyChangeListener",
+				new Class[] { listenerType });
+		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
+				listenerType, listenerMethods, addMethod, removeMethod);
+		assertEquals(listenerMethods, esd.getListenerMethods());
+	}
+
+	/*
+	 * addListenerMethod = null
+	 */
+	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_addListenerMethodNull()
+			throws IntrospectionException, NoSuchMethodException {
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		Method[] listenerMethods = new Method[] {
+				listenerType.getMethod("mockPropertyChange",
+						new Class[] { MockPropertyChangeEvent.class }),
+				listenerType.getMethod("mockPropertyChange2",
+						new Class[] { MockPropertyChangeEvent.class }), };
+		Class sourceClass = MockSourceClass.class;
+		Method addMethod = sourceClass.getMethod(
+				"addMockPropertyChangeListener", new Class[] { listenerType });
+		Method removeMethod = sourceClass.getMethod(
+				"removeMockPropertyChangeListener",
+				new Class[] { listenerType });
+		EventSetDescriptor esd = new EventSetDescriptor(eventSetName,
+				listenerType, listenerMethods, null, removeMethod);
+
+		assertNull(esd.getAddListenerMethod());
+	}
+
+	/*
+	 * addListenerMethod is invalid
+	 */
+	public void testEventSetDescriptorStringClassMethodArrayMethodMethod_addListenerMethodInvalid()
+			throws IntrospectionException, NoSuchMethodException {
+		String eventSetName = "MockPropertyChange";
+		Class listenerType = MockPropertyChangeListener.class;
+		Method[] listenerMethods = new Method[] {
+				listenerType.getMethod("mockPropertyChange",
+						new Class[] { MockPropertyChangeEvent.class }),
+				listenerType.getMethod("mockPropertyChange2",
+						new Class[] { MockPropertyChangeEvent.class }), };
+		Class sourceClass = MockSourceClass.class;
+		Method addMethod = sourceClass.getMethod(
+				"addMockPropertyChangeListener_Invalid", (Class[])null);
+		Method removeMethod = sourceClass.getMethod(
+				"removeMockPropertyChangeListener",
+				new Class[] { listenerType });

[... 407 lines stripped ...]