public void MultipleResolvedInstanceDisposeOnlyOnce()
        {
            var o1 = container.Resolve <DisposableObject>();
            var o2 = container.Resolve <DisposableObject>();

            container.Dispose();
            Assert.IsTrue(o1.WasDisposed);
            Assert.IsTrue(o2.WasDisposed);
            Assert.AreEqual(o1.DisposeCount, 1);
            Assert.AreEqual(o2.DisposeCount, 1);
        }
Exemple #2
0
        public void TestMultipleResolvedInstanceDisposeOnlyOnce()
        {
            // Arrange
            var container = new FsContainer();

            container
            .For <DisposableObject>()
            .Use <DisposableObject>(new ContainerControlledLifetimeManager());

            // Act
            var o1 = container.Resolve <DisposableObject>();
            var o2 = container.Resolve <DisposableObject>();

            // Assert
            container.Dispose();
            Assert.IsTrue(o1.WasDisposed);
            Assert.IsTrue(o2.WasDisposed);
            Assert.AreEqual(o1.DisposeCount, 1);
            Assert.AreEqual(o2.DisposeCount, 1);
        }