public void ConstructorAutoInjector_Inject_PrimaryOrPreferredTargetDependencyNotFound_Test()
        {
            //arrage
            Mock <IDependencyMap> mockDependencyMap = new Mock <IDependencyMap>();

            mockDependencyMap.Setup(dm => dm.PrimaryDependencyHolder).Returns((IDependencyHolder)null);

            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 <ConstructorAutoInjector> mockConstructorAutoInjector = new Mock <ConstructorAutoInjector>(mockContainer.Object, typeof(foo))
            {
                CallBase = true
            };

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

            foo afoo = new foo();

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

            //assert
            Assert.IsNull(afoo.Get_bar());
        }
        public void ConstructorAutoInjector_Inject_NonInjectableTypeException_Test()
        {
            //arrage
            Mock <IDIContainer> mockContainer = new Mock <IDIContainer>();

            mockContainer.Setup(c => c.ContainsDependency(It.IsAny <string>())).Returns(false);

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

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

            foo afoo = new foo();

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

            //assert
            Assert.IsNull(afoo.Get_bar());
        }