public void TestCreationTimeWithInterfaceForDefaultInstance()
 {
     SimpleIoc.Default.Reset();
     TestClassForCreationTime.Reset();
     Assert.AreEqual(0, TestClassForCreationTime.InstancesCreated);
     SimpleIoc.Default.Register <ITestClass, TestClassForCreationTime>();
     Assert.AreEqual(0, TestClassForCreationTime.InstancesCreated);
     SimpleIoc.Default.GetInstance <ITestClass>();
     Assert.AreEqual(1, TestClassForCreationTime.InstancesCreated);
     SimpleIoc.Default.GetInstance <ITestClass>();
     Assert.AreEqual(1, TestClassForCreationTime.InstancesCreated);
 }
 public void TestCreationTimeWithFactory()
 {
     SimpleIoc.Default.Reset();
     TestClassForCreationTime.Reset();
     Assert.AreEqual(0, TestClassForCreationTime.InstancesCreated);
     SimpleIoc.Default.Register(() => new TestClassForCreationTime());
     Assert.AreEqual(0, TestClassForCreationTime.InstancesCreated);
     SimpleIoc.Default.GetInstance <TestClassForCreationTime>();
     Assert.AreEqual(1, TestClassForCreationTime.InstancesCreated);
     SimpleIoc.Default.GetInstance <TestClassForCreationTime>();
     Assert.AreEqual(1, TestClassForCreationTime.InstancesCreated);
 }
 public void TestCreationTimeForNamedInstance()
 {
     SimpleIoc.Default.Reset();
     TestClassForCreationTime.Reset();
     Assert.AreEqual(0, TestClassForCreationTime.InstancesCreated);
     SimpleIoc.Default.Register <TestClassForCreationTime>();
     Assert.AreEqual(0, TestClassForCreationTime.InstancesCreated);
     SimpleIoc.Default.GetInstance <TestClassForCreationTime>("Key1");
     Assert.AreEqual(1, TestClassForCreationTime.InstancesCreated);
     SimpleIoc.Default.GetInstance <TestClassForCreationTime>("Key2");
     Assert.AreEqual(2, TestClassForCreationTime.InstancesCreated);
     SimpleIoc.Default.GetInstance <TestClassForCreationTime>("Key1");
     Assert.AreEqual(2, TestClassForCreationTime.InstancesCreated);
 }
Beispiel #4
0
        public void TestCreationOfMultipleInstances()
        {
            SimpleIoc.Default.Reset();
            TestClassForCreationTime.Reset();

            var factoryWasUsed = 0;

            SimpleIoc.Default.Register(() =>
            {
                factoryWasUsed++;
                return(new TestClassForCreationTime());
            });

            Assert.AreEqual(0, TestClassForCreationTime.InstancesCreated);

            SimpleIoc.Default.GetInstance <TestClassForCreationTime>();
            SimpleIoc.Default.GetInstance <TestClassForCreationTime>("Key1");
            SimpleIoc.Default.GetInstance <TestClassForCreationTime>("Key2");

            Assert.AreEqual(3, TestClassForCreationTime.InstancesCreated);
            Assert.AreEqual(3, factoryWasUsed);
        }
Beispiel #5
0
        public void TestCreationTimeForTransitionLifetime()
        {
            SimpleIoc.Default.Reset();
            TestClassForCreationTime.Reset();
            Assert.AreEqual(0, TestClassForCreationTime.InstancesCreated);
            SimpleIoc.Default.RegisterWithLifetime <TestClassForCreationTime>(new TransitionLifetime());
            Assert.AreEqual(0, TestClassForCreationTime.InstancesCreated);
            var inst1 = SimpleIoc.Default.GetInstance <TestClassForCreationTime>();

            Assert.AreEqual(1, TestClassForCreationTime.InstancesCreated);
            var inst2 = SimpleIoc.Default.GetInstance <TestClassForCreationTime>();

            Assert.AreEqual(2, TestClassForCreationTime.InstancesCreated);

            Assert.AreEqual(2, SimpleIoc.Default.GetAllInstances(typeof(TestClassForCreationTime)).Count());
            SimpleIoc.Default.Unregister(inst1);
            Assert.AreEqual(1, SimpleIoc.Default.GetAllInstances(typeof(TestClassForCreationTime)).Count());
            SimpleIoc.Default.Unregister(inst1);
            Assert.AreEqual(1, SimpleIoc.Default.GetAllInstances(typeof(TestClassForCreationTime)).Count());
            SimpleIoc.Default.Unregister(inst2);
            Assert.AreEqual(0, SimpleIoc.Default.GetAllInstances(typeof(TestClassForCreationTime)).Count());
        }