Exemplo n.º 1
0
        public void MethodAutoInjector_Inject_Test()
        {
            // arrange
            Mock <IDependencyHolder> mockDependencyHolder = new Mock <IDependencyHolder>();

            mockDependencyHolder.Setup(dh => dh.GetInstance(null)).Returns(new bar());

            Mock <IDependencyMap> mockDependencyMap = new Mock <IDependencyMap>();

            mockDependencyMap.Setup(dm => dm.PrimaryDependencyHolder).Returns(mockDependencyHolder.Object);

            Mock <IDIContainer> mockContainer = new Mock <IDIContainer>();

            mockContainer.Setup(c => c.ContainsDependency(It.IsAny <string>())).Returns(true);
            mockContainer.Setup(c => c.GetDependencyMap(It.IsAny <string>())).Returns(mockDependencyMap.Object);

            Mock <MethodAutoInjector> mockMethodAutoInjector = new Mock <MethodAutoInjector>(mockContainer.Object, typeof(foo))
            {
                CallBase = true
            };

            mockMethodAutoInjector.Setup(pa => pa.GetParamInjectDependency(It.IsAny <ParameterInfo>())).Returns((string)null);

            foo afoo = new foo();

            //act
            mockMethodAutoInjector.Object.Inject(afoo);

            //assert
            Assert.IsNotNull(afoo.Get_pbar());
        }