예제 #1
0
        public void RealizeWithArrayParameterConstructor()
        {
            new DependencyContainer()
            .RegisterType <ITestTypeA, TestTypeA1>("one")
            .RegisterType <ITestTypeA, TestTypeA2>("two")
            .RegisterType <TestTypeB, TestTypeB>();

            var instance = GlobalContainer.Resolve <TestTypeB>();

            Assert.IsNotNull(instance);
            Assert.IsNotNull(instance.A1);
            Assert.IsInstanceOf <TestTypeA1>(instance.A1);
            Assert.IsNotNull(instance.As);
            Assert.AreEqual(2, instance.As.Length);
            Assert.IsInstanceOf <TestTypeA1>(instance.As[0]);
            Assert.IsInstanceOf <TestTypeA2>(instance.As[1]);
        }
예제 #2
0
        public void ResolveRegisteredLoggers()
        {
            var loggers = GlobalContainer.ResolveAll <ILogger>();

            Assert.AreEqual(1, loggers.Count());

            var loggerA = loggers.Single();

            Assert.IsInstanceOf <Core.GenericAsyncLogger <Core.Unity.DebugConsoleLogger> >(loggerA);

            var loggerB = GlobalContainer.Resolve <ILogger>();

            Assert.AreSame(loggerA, loggerB);

            var loggerC = GlobalContainer.Resolve <ILogger>("Unity Async Debug Logger");

            Assert.AreSame(loggerB, loggerC);
        }