001    package org.picocontainer.defaults.issues;
002    
003    import org.junit.Test;
004    import org.picocontainer.ComponentAdapter;
005    import org.picocontainer.PicoCompositionException;
006    import org.picocontainer.PicoContainer;
007    import org.picocontainer.PicoVisitor;
008    
009    import java.lang.reflect.Type;
010    import java.util.ArrayList;
011    import java.util.List;
012    
013    import static junit.framework.Assert.assertSame;
014    
015    public class Issue0369TestCase {
016    
017        @Test
018        public void simpleProofOfChangeInGetComponent() {
019            MyAdapter mya = new MyAdapter();
020            Class<? extends List> componentImplementation = mya.getComponentImplementation();
021            assertSame(ArrayList.class, componentImplementation);
022        }
023    
024        public class MyAdapter implements ComponentAdapter<List> {
025    
026            private Class<? extends List> implementationclass = ArrayList.class;
027    
028            public Class<? extends List> getComponentImplementation() {
029                return implementationclass;
030            }
031    
032            public Object getComponentKey() {
033                return null;
034            }
035    
036            public List getComponentInstance(PicoContainer container) throws PicoCompositionException {
037                return null;
038            }
039    
040            public List getComponentInstance(PicoContainer container, Type into) throws PicoCompositionException {
041                return null;
042            }
043    
044            public void verify(PicoContainer container) throws PicoCompositionException {
045    
046            }
047    
048            public void accept(PicoVisitor visitor) {
049    
050            }
051    
052            public ComponentAdapter<List> getDelegate() {
053                return null;
054            }
055    
056            public <U extends ComponentAdapter> U findAdapterOfType(Class<U> adapterType) {
057                return null;
058            }
059    
060            public String getDescriptor() {
061                return null;
062            }
063        }
064    
065    }