예제 #1
0
        public void TestContainedTwoObjectInAContextAndOneOutside()
        {
            DisposableComponent tran1;
            DisposableComponent tran2;
            DisposableComponent tran3;

            using (WindsorContainer ioc = new WindsorContainer(new XmlInterpreter(@"Concrete\Castle\Config\ConfigurationCustom.xml")))
            {
                using (ContextLifecycle.BeginContext())
                {
                    tran1 = ioc.Resolve <DisposableComponent>("TransientDisposableCon");
                    tran2 = ioc.Resolve <DisposableComponent>("TransientDisposableCon");
                }
                tran3 = ioc.Resolve <DisposableComponent>("TransientDisposableCon");
                //Tran3 does not gets disposed because it is created out of the context.
                Assert.IsTrue(tran1.ITest.IsDisposed);
                Assert.IsTrue(tran2.ITest.IsDisposed);
                Assert.IsFalse(tran3.ITest.IsDisposed);
                Assert.IsTrue(tran1.IsDisposed);
                Assert.IsTrue(tran2.IsDisposed);
                Assert.IsFalse(tran3.IsDisposed);
            }
            Assert.IsTrue(tran3.ITest.IsDisposed);
            Assert.IsTrue(tran3.IsDisposed);
        }
예제 #2
0
        public void TestContainedThreeObjectInAContext()
        {
            DisposableComponent tran1;
            DisposableComponent tran2;
            DisposableComponent tran3;

            using (WindsorContainer ioc = new WindsorContainer(new XmlInterpreter(@"Concrete\Castle\Config\ConfigurationCustom.xml")))
            {
                using (ContextLifecycle.BeginContext())
                {
                    tran1 = ioc.Resolve <DisposableComponent>("TransientDisposableCon");
                    tran2 = ioc.Resolve <DisposableComponent>("TransientDisposableCon");
                    tran3 = ioc.Resolve <DisposableComponent>("TransientDisposableCon");
                    Assert.That(tran1, Is.Not.EqualTo(tran2));
                    Assert.That(tran3, Is.Not.EqualTo(tran2));
                    Assert.That(tran3, Is.Not.EqualTo(tran1));
                }
                Assert.IsTrue(tran1.ITest.IsDisposed);
                Assert.IsTrue(tran2.ITest.IsDisposed);
                Assert.IsTrue(tran3.ITest.IsDisposed);
                Assert.IsTrue(tran1.IsDisposed);
                Assert.IsTrue(tran2.IsDisposed);
                Assert.IsTrue(tran3.IsDisposed);
            }
        }
예제 #3
0
        public void TestContained4a()
        {
            DisposableComponent tran;

            using (WindsorContainer ioc = new WindsorContainer(new XmlInterpreter(@"Concrete\Castle\Config\ConfigurationCustom.xml")))
            {
                using (ContextLifecycle.BeginContext())
                {
                    tran = ioc.Resolve <DisposableComponent>("TransientDisposableCon");
                }
                Assert.IsTrue(tran.ITest.IsDisposed);
                Assert.IsTrue(tran.IsDisposed);
            }
        }
예제 #4
0
        public void BaseTestSingletonContextDisposable2()
        {
            DisposableComponent tran1, tran2;

            using (WindsorContainer ioc = new WindsorContainer(new XmlInterpreter(@"Concrete\Castle\Config\ConfigurationCustom.xml")))
            {
                using (ContextLifecycle.BeginContext())
                {
                    tran1 = ioc.Resolve <DisposableComponent>("SingletonDisposableCon");
                    tran2 = ioc.Resolve <DisposableComponent>("SingletonDisposableCon");
                    Assert.That(tran1, Is.EqualTo(tran2));
                    Assert.That(tran1.ITest, Is.EqualTo(tran2.ITest));
                }
            }
        }
예제 #5
0
        public void TestSingletonThatDependsFromCustom()
        {
            NotDisposableComponent tran;

            using (WindsorContainer ioc = new WindsorContainer(new XmlInterpreter(@"Concrete\Castle\Config\ConfigurationCustom.xml")))
            {
                using (ContextLifecycle.BeginContext())
                {
                    tran = ioc.Resolve <NotDisposableComponent>("NotDisposableSingleton");
                }
                //Now the singleton object tran ended is life, it does not implement dispose but the inner ITEst object should
                //gets disposed.
                Assert.IsTrue(tran.ITest.IsDisposed);
            }
        }
예제 #6
0
 public void TestContextLifecycle()
 {
     RegressionRunner.Run(session, ContextLifecycle.Executions());
 }