Beispiel #1
0
        public void LifetimeTests_StateCheck()
        {
            var scoped = new ScopedLifetime();

            Assert.IsInstanceOfType(scoped.Create(), typeof(ScopedLifetime));

            var singleton = new SingletonLifetime();

            Assert.IsInstanceOfType(singleton.Create(), typeof(SingletonLifetime));
        }
        public void ShouldDisposeInstanceWhenDispose()
        {
            // Given
            var expectedInstance = new Mock <IDisposable>();
            var lifetime         = new SingletonLifetime();
            var resolver         = lifetime.Compile(() => expectedInstance.Object);

            resolver(Mock.Of <IContainer>());

            // When
            lifetime.Dispose();

            // Then
            expectedInstance.Verify(i => i.Dispose(), Times.Once);
        }
        public void ShouldCreateSingleInstanceWhenStruct()
        {
            // Given
            var lifetime = new SingletonLifetime();
            var resolver = lifetime.Compile(() => 10);

            // When
            var instance1 = resolver(Mock.Of <IContainer>());
            var instance2 = resolver(Mock.Of <IContainer>());
            var instance3 = resolver(Mock.Of <IContainer>());

            // Then
            instance2.ShouldBe(instance1);
            instance3.ShouldBe(instance1);
        }
Beispiel #4
0
            public Expression Build(IBuildContext context, Expression expression)
            {
                var singletonLifetime = new SingletonLifetime();

                return(singletonLifetime.Build(context, expression));
            }