001 /*****************************************************************************
002 * Copyright (C) PicoContainer Organization. All rights reserved. *
003 * ------------------------------------------------------------------------- *
004 * The software in this package is published under the terms of the BSD *
005 * style license a copy of which has been included with this distribution in *
006 * the LICENSE.txt file. *
007 * *
008 * Original code by *
009 *****************************************************************************/
010 package org.picocontainer.defaults;
011
012 import java.beans.IntrospectionException;
013
014 import org.junit.Test;
015
016 /**
017 * @author Aslak Hellesøy
018 */
019 public class SetterIntrospectorTestCase {
020 public static class TestBean {
021 public void setPublicMethod(int i) {
022 }
023
024 public void setPublicMETHODAgain(int i) {
025 }
026
027 public void setMOOky(int i) {
028 }
029
030 public void setFOOBAR(int i) {
031 }
032
033 public void set(int i) {
034 }
035
036 public void sets(int i) {
037 }
038
039 public void fooBar(int i) {
040 }
041
042 public void setX(int i) {
043 }
044
045 public static void setStaticMethod(int i) {
046 }
047
048 public static void setMany() {
049 }
050
051 protected void setProtectedMethod(int i) {
052 }
053
054 private void setPrivateMethod(int i) {
055 }
056 }
057
058 @Test public void testShouldConvertPropertyNamesInSameWayAsBeanInfo() throws IntrospectionException {
059
060 // TODO - to test via SetterInjectionComponentAdaptor with mock/expects.
061
062 // BeanInfo beanInfo = Introspector.getBeanInfo(TestBean.class);
063 // PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
064 //
065 // Map setters = getSetters(TestBean.class);
066 // assertEquals(propertyDescriptors.length, setters.size());
067 //
068 // for (int i = 0; i < propertyDescriptors.length; i++) {
069 // PropertyDescriptor propertyDescriptor = propertyDescriptors[i];
070 // String expectedPropertyName = propertyDescriptor.getName();
071 // assertEquals("No property found for " + expectedPropertyName, propertyDescriptor.getWriteMethod(), setters.get(expectedPropertyName));
072 // }
073 }
074
075 }