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 *****************************************************************************/
010package org.picocontainer.defaults;
011
012import java.beans.IntrospectionException;
013
014import org.junit.Test;
015
016/**
017 * @author Aslak Hellesøy
018 */
019public 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}