001 package org.picocontainer.defaults;
002
003 import junit.framework.TestCase;
004
005 import java.beans.IntrospectionException;
006
007 /**
008 * @author Aslak Hellesøy
009 * @version $Revision: 3139 $
010 */
011 public class SetterIntrospectorTestCase extends TestCase {
012 public static class TestBean {
013 public void setPublicMethod(int i) {
014 }
015
016 public void setPublicMETHODAgain(int i) {
017 }
018
019 public void setMOOky(int i) {
020 }
021
022 public void setFOOBAR(int i) {
023 }
024
025 public void set(int i) {
026 }
027
028 public void sets(int i) {
029 }
030
031 public void fooBar(int i) {
032 }
033
034 public void setX(int i) {
035 }
036
037 public static void setStaticMethod(int i) {
038 }
039
040 public static void setMany() {
041 }
042
043 protected void setProtectedMethod(int i) {
044 }
045
046 private void setPrivateMethod(int i) {
047 }
048 }
049
050 public void testShouldConvertPropertyNamesInSameWayAsBeanInfo() throws IntrospectionException {
051
052 // TODO - to test via SetterInjectionComponentAdaptor with mock/expects.
053
054 // BeanInfo beanInfo = Introspector.getBeanInfo(TestBean.class);
055 // PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
056 //
057 // Map setters = getSetters(TestBean.class);
058 // assertEquals(propertyDescriptors.length, setters.size());
059 //
060 // for (int i = 0; i < propertyDescriptors.length; i++) {
061 // PropertyDescriptor propertyDescriptor = propertyDescriptors[i];
062 // String expectedPropertyName = propertyDescriptor.getName();
063 // assertEquals("No property found for " + expectedPropertyName, propertyDescriptor.getWriteMethod(), setters.get(expectedPropertyName));
064 // }
065 }
066
067 }