public void TryResolvesSuccessful() { string containerKey = Guid.NewGuid().ToString(); Mock <IContainerAdapter> containerAdapterMock = new Mock <IContainerAdapter>(); containerAdapterMock.SetupGet(x => x.Name).Returns(containerKey); DependantClass dependantClass = new DependantClass(); IContainerManager containerManager = new ContainerManager(containerAdapterMock.Object); containerAdapterMock.Setup(x => x.TryResolve <IDependantClass>()).Returns(dependantClass); Assert.AreEqual(dependantClass, containerManager.TryResolve <IDependantClass>()); DependantClass dependantClass2 = new DependantClass { Name = "Pass 2" }; containerAdapterMock.Setup(x => x.TryResolve <IDependantClass>(It.IsAny <string>())).Returns(dependantClass2); Assert.AreEqual(dependantClass2, containerManager.TryResolve <IDependantClass>("string")); DependantClass dependantClass3 = new DependantClass { Name = "Pass 3" }; containerAdapterMock.Setup(x => x.TryResolve <IDependantClass>(It.IsAny <IDictionary <string, object> >())).Returns(dependantClass3); Assert.AreEqual(dependantClass3, containerManager.TryResolve <IDependantClass>(new Dictionary <string, object>())); DependantClass dependantClass4 = new DependantClass { Name = "Pass 4" }; containerAdapterMock.Setup(x => x.TryResolve <IDependantClass>(It.IsAny <string>(), It.IsAny <IDictionary <string, object> >())).Returns(dependantClass4); Assert.AreEqual(dependantClass4, containerManager.TryResolve <IDependantClass>("name", new Dictionary <string, object>())); }
protected void CanRegisterBasicType(Func <IContainerAdapter> adapterFunc) { IContainerManager containerManager = new ContainerManager(adapterFunc()); Assert.IsNull(containerManager.TryResolve <IDependantClass>()); DependantClass instanceDependantClass = new DependantClass(); containerManager.Adapter.Register <IDependantClass>(instanceDependantClass); IDependantClass dependantClass = containerManager.Resolve <IDependantClass>(); Assert.AreEqual(instanceDependantClass, dependantClass); }
protected void CanRegisterFluentInstance(Func <IContainerAdapter> adapterFunc) { IContainerAdapter adapter = adapterFunc(); var returnClass = new DependantClass(); var registration = adapter.CreateComponentRegistration <ComponentRegistration>() .Register <ISuperDependantClass>() .Instance(returnClass); adapter.Register(registration); Assert.AreEqual(returnClass, adapter.Resolve <ISuperDependantClass>()); Assert.IsNull(adapter.TryResolve <IDependantClass>()); }