Exemplo n.º 1
0
        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>()));
        }
Exemplo n.º 2
0
        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>());
        }