public void InitializeInstanceWhenObjIsScoped() { var list = Mock.Of<IList>(); IComponentRegistration registration = null; var registry = new Mock<IComponentRegistry>(MockBehavior.Strict); registry.Setup(_ => _.TryGetRegistration(It.IsAny<Service>(), out registration)).Returns(true); var scope = new Mock<ILifetimeScope>(MockBehavior.Strict); scope.SetupGet(_ => _.ComponentRegistry).Returns(registry.Object); scope.Setup(_ => _.ResolveComponent(registration, It.IsAny<IEnumerable<Parameter>>())).Returns(list); var container = new Mock<IContainer>(MockBehavior.Strict); container.Setup(_ => _.BeginLifetimeScope()).Returns(scope.Object); var target = new DependentTarget(); new ObjectActivator(container.Object).InitializeInstance(target); Assert.AreSame(list, target.List); Assert.AreSame(scope.Object, target.Scope); container.VerifyAll(); scope.VerifyAll(); registry.VerifyAll(); }
public void InitializeInstanceWhenObjIsScoped() { var list = Mock.Of <IList>(); var builder = new ContainerBuilder(); builder.RegisterInstance(list).As <IList>(); var target = new DependentTarget(); var activator = new ObjectActivator(builder.Build(), new ActivatorCallContext()); activator.InitializeInstance(target); Assert.AreSame(list, target.List); }
public void FinalizeInstanceWhenObjIsScoped() { var list = Mock.Of<IList>(); var scope = new Mock<ILifetimeScope>(MockBehavior.Strict); scope.Setup(_ => _.Dispose()); var target = new DependentTarget { List = list, Scope = scope.Object }; new ObjectActivator(Mock.Of<IContainer>()).FinalizeInstance(target); Assert.IsNull(target.List); Assert.IsNotNull(target.Scope); scope.VerifyAll(); }