public void InjectsEmptyArrayWhenNoRegisteredInstances()
        {
            ObjectArrayConstructorDependency instance
                = ResolveConfiguredObject <ObjectArrayConstructorDependency>("emptyArray");

            Assert.AreEqual(0, instance.loggers.Length);
        }
        public void DefaultRegisteredInstancesAreIgnoredByArrayParameter()
        {
            IUnityContainer container = GetConfiguredContainer("populatedArrayWithDefaultInstance");

            ObjectArrayConstructorDependency instance = container.Resolve <ObjectArrayConstructorDependency>();

            Assert.AreEqual(2, instance.loggers.Length);
            Assert.AreSame(container.Resolve <ILogger>("logger1"), instance.loggers[0]);
            Assert.AreSame(container.Resolve <ILogger>("logger2"), instance.loggers[1]);
        }
        public void InjectsPopulatedArrayWhenInstancesAreRegistered()
        {
            IUnityContainer container = GetConfiguredContainer("populatedArray");

            ObjectArrayConstructorDependency instance = container.Resolve <ObjectArrayConstructorDependency>();

            Assert.AreEqual(2, instance.loggers.Length);
            Assert.AreSame(container.Resolve <ILogger>("logger1"), instance.loggers[0]);
            Assert.AreSame(container.Resolve <ILogger>("logger2"), instance.loggers[1]);
        }
        public void InjectsPopulatedArrayWhenSpecifyingValues()
        {
            IUnityContainer container = GetConfiguredContainer("populatedArrayWithValues");

            ObjectArrayConstructorDependency instance = container.Resolve <ObjectArrayConstructorDependency>();

            Assert.AreEqual(2, instance.loggers.Length);
            Assert.AreSame(container.Resolve <ILogger>("logger2"), instance.loggers[0]);
            Assert.AreSame(container.Resolve <ILogger>("logger1"), instance.loggers[1]);
            Assert.IsNotNull(container.Resolve <ILogger>("logger3"));    // registered, but not in the array
        }