Exemplo n.º 1
0
 public void NullDeferedSingleton()
 {
     using (var container = new TurboContainer())
     {
         container.AddAssociation <TestClass>(new DeferedSingletonLifetime(r => null, typeof(TestClass)));
         var item = container.Resolve <TestClass>();
         Assert.IsNull(item);
     }
 }
Exemplo n.º 2
0
        public void SimpleResolveTest2()
        {
            using (var container = new TurboContainer())
            {
                container.AddSingleton <int>(10);
                container.AddSingleton <string>("value");
                container.AddPerCall <ITestInterface, TestImplementation>();
                container.AddAssociation <TestClass, TestClass>(LifetimeFactories.DeferedSingleton);
                container.AddAssociation <double>(new PerCallLifetime(typeof(double), r => 15.0));

                Assert.AreEqual("value", container.Resolve <string>());
                Assert.IsInstanceOfType(container.Resolve <ITestInterface>(), typeof(TestImplementation));

                var obj = container.CreateObject <TestInjectionToConstructor>();
                Assert.IsNotNull(obj);
                Assert.AreEqual(15.0, obj.Value);
                Assert.AreEqual("value", obj.StrValue);
                Assert.IsNotNull(container.Resolve <TestClass>());
            }
        }