001package org.picocontainer.defaults.issues;
002
003import org.junit.Test;
004import org.picocontainer.ComponentAdapter;
005import org.picocontainer.PicoCompositionException;
006import org.picocontainer.PicoContainer;
007import org.picocontainer.PicoVisitor;
008
009import java.lang.reflect.Type;
010import java.util.ArrayList;
011import java.util.List;
012
013import static junit.framework.Assert.assertSame;
014
015public 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}