public void Resolve_SetTypeImplementationAsSingletonWithGenericMethod_ShouldCreateNewInstance() { // Arrange var objectInfo = new ContainerInstance(this.registeredType, this.container); objectInfo.AsSingleton <ServiceStub>(); // Act var serviceStub = objectInfo.Resolve(); // Assert Assert.IsInstanceOf(typeof(ServiceStub), serviceStub); }
public void Resolve_AsSingletonWithoutImplementation_ShouldReturnTheSameInstance() { // Arrange var objectInfo = new ContainerInstance(typeof(ServiceStub), this.container); objectInfo.AsSingleton(); // Act var serviceStub1 = objectInfo.Resolve(); var serviceStub2 = objectInfo.Resolve(); // Assert Assert.AreSame(serviceStub1, serviceStub2); }
public void Resolve_SetInstanceAsSingleton_ShouldReturnTheSameInstance() { // Arrange var objectInfo = new ContainerInstance(this.registeredType, this.container); var instance = new ServiceStub(); objectInfo.AsSingleton(instance); // Act var serviceStub1 = objectInfo.Resolve(); // Assert Assert.AreSame(instance, serviceStub1); }
public void Resolve_SetFactoryWithArgumentsAsSingleton_ShouldCreateNewInstanceEachTime() { // Arrange var objectInfo = new ContainerInstance(this.registeredType, this.container); objectInfo.AsSingleton((arguments) => new ServiceStub()); // Act var serviceStub1 = objectInfo.Resolve(); var serviceStub2 = objectInfo.Resolve(); // Assert Assert.AreSame(serviceStub1, serviceStub2); }
public void Resolve_SetFactoryWithArgumentsAsSingleton_ShouldCreateNewInstance() { // Arrange var objectInfo = new ContainerInstance(this.registeredType, this.container); var serviceStub = new ServiceStub(); objectInfo.AsSingleton((arguments) => serviceStub); // Act var result = objectInfo.Resolve(); // Assert Assert.AreEqual(serviceStub, result); }
public void Resolve_SetTypeImplementationAsSingletonWithGenericMethod_ShouldCreateTheSameInstance() { // Arrange var objectInfo = new ContainerInstance(this.registeredType, this.container); objectInfo.AsSingleton <ServiceStub>(); // Act var serviceStub1 = objectInfo.Resolve(); var serviceStub2 = objectInfo.Resolve(); // Assert Assert.AreSame(serviceStub1, serviceStub2); }
public void Resolve_SetTypeImplementationAsSingleton_ShouldCreateTheSameInstance() { // Arrange var objectInfo = new ContainerInstance(this.registeredType, this.container); objectInfo.AsSingleton(typeof(ServiceStub)); // Act var serviceStub1 = objectInfo.Resolve(); var serviceStub2 = objectInfo.Resolve(); // Assert Assert.AreSame(serviceStub1, serviceStub2); }
public void Resolve_SetTypeImplementationAsSingleton_ShouldCreateNewInstance() { // Arrange var objectInfo = new ContainerInstance(this.registeredType, this.container); objectInfo.AsSingleton(typeof(ServiceStub)); // Act var serviceStub = objectInfo.Resolve(); // Assert Assert.IsInstanceOf(typeof(ServiceStub), serviceStub); }