001    package org.picocontainer.defaults.issues;
002    
003    import junit.framework.Assert;
004    import junit.framework.TestCase;
005    import org.picocontainer.MutablePicoContainer;
006    import org.picocontainer.defaults.DefaultPicoContainer;
007    
008    public class Issue0196TestCase extends TestCase {
009        public static class Descriptor {
010            public static class DescriptorData {
011            }
012        }
013        public static class DescriptorDep {
014            public DescriptorDep(Descriptor.DescriptorData[] datas) {
015                Assert.assertEquals(3, datas.length);
016                Assert.assertNull(datas[0]);
017                Assert.assertNull(datas[1]);
018                Assert.assertNull(datas[2]);
019            }
020        }
021    
022        public void testShouldAllowRegistrationOfArrayAsInstance() {
023            MutablePicoContainer pico = new DefaultPicoContainer();
024    
025            Descriptor.DescriptorData[] datas = new Descriptor.DescriptorData[3];
026    
027            pico.registerComponentInstance(datas);
028            pico.registerComponentImplementation(DescriptorDep.class);
029    
030            DescriptorDep descriptorDep = (DescriptorDep) pico.getComponentInstanceOfType(DescriptorDep.class);
031    
032            assertNotNull(descriptorDep);
033        }
034    }