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 }