public void GetInstance_Generic_ShouldGetInstanceFromStructuremapContainer() { //---------------Set up test pack------------------- var container = Substitute.For <IContainer>(); var iocContainer = new StructuremapThuriaIocContainer(container); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- iocContainer.GetInstance <IFakeObject>(); //---------------Test Result ----------------------- container.Received(1).TryGetInstance <IFakeObject>(); }
public void GetInstance_Generic_GivenObjectNotFound_ShouldNotThrowExceptionAndReturnNull() { //---------------Set up test pack------------------- var container = new Container(); var iocContainer = new StructuremapThuriaIocContainer(container); object returnedObject = null; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- Assert.DoesNotThrow(() => returnedObject = iocContainer.GetInstance <IFakeObject>()); //---------------Test Result ----------------------- returnedObject.Should().BeNull(); }
public void GetInstance_Generic_GivenObjectExists_ShouldNotThrowExceptionAndReturnInstanceOfObject() { //---------------Set up test pack------------------- var container = new Container(); var fakeObject = new FakeObject(); container.Inject(typeof(IFakeObject), fakeObject); var iocContainer = new StructuremapThuriaIocContainer(container); object returnedObject = null; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- Assert.DoesNotThrow(() => returnedObject = iocContainer.GetInstance <IFakeObject>()); //---------------Test Result ----------------------- returnedObject.Should().NotBeNull(); returnedObject.Should().BeAssignableTo <IFakeObject>(); returnedObject.Should().Be(fakeObject); }
public void GetInstance_Named_GivenObjectExists_ShouldNotThrowExceptionAndReturnInstanceOfObject() { //---------------Set up test pack------------------- var instanceName = "test"; var container = new Container(); container.Configure(expression => { expression.For <IFakeObject>().Use <FakeObject>().Named(instanceName); }); var iocContainer = new StructuremapThuriaIocContainer(container); object returnedObject = null; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- Assert.DoesNotThrow(() => returnedObject = iocContainer.GetInstance(typeof(IFakeObject), instanceName)); //---------------Test Result ----------------------- returnedObject.Should().NotBeNull(); returnedObject.Should().BeAssignableTo <IFakeObject>(); }