Exemple #1
0
        public void Should_throw_when_adding_same_dependency2(
            object value1, string dependencyParameterName1,
            object value2, string dependencyParameterName2)
        {
            //ARRANGE
            var dependencyContainer = new DependencyContainer();

            //ACT
            dependencyContainer.AddDependencyInstance(value1, dependencyParameterName1);
            Assert.That(() => dependencyContainer.AddDependencyInstance(value2, dependencyParameterName2), Throws.TypeOf <InvalidOperationException>());
        }
        public void Should_throw_when_two_implementations_of_the_same_interface_injected()
        {
            //ARRANGE
            var container = new DependencyContainer();

            container.AddDependencyInstance(new DependencyImplementation1());
            container.AddDependencyInstance(new DependencyImplementation2());

            var builder = new AutoMock <Target>(container);

            //ACT
            Assert.That(() => builder.SelectConstructor(), Throws.TypeOf <InvalidOperationException>());
        }
        public void Should_build_target_When_multiple_dependencies_of_the_same_type()
        {
            //ARRANGE
            var container = new DependencyContainer();

            container.AddDependencyInstance(Substitute.For <IDependency>(), "d1");
            container.AddDependencyInstance(Substitute.For <IDependency>(), "d2");
            var builder = new AutoMock <Target_SameTypeDependency>(container);

            //ACT
            builder.SelectConstructor();
            var target = builder.CreateTarget();

            //ASSERT
            Assert.IsNotNull(target);
        }
        public void Should_build_target_When_provided_dependencies()
        {
            //ASSERT
            var container = new DependencyContainer();

            container.AddDependencyInstance(Substitute.For <IDependency>());
            var builder = new AutoMock <Target>(container);

            //ACT
            builder.SelectConstructor();
            var target = builder.CreateTarget();

            //ASSERT
            Assert.IsNotNull(target);
        }
        public void should_use_custom_mock_and_dependency_container()
        {
            //ARRANGE
            var container = new DependencyContainer();

            container.AddDependencyInstance(new DependencyImplementation1());

            var builder = new AutoMock <Target_TwoConcreteDependencies>(new CustomMockFactory(), container);

            //ACT
            builder.SelectConstructor();

            //ASSERT
            Assert.IsNotNull(builder.GetMock <DependencyImplementation2>());
        }
        public void Should_create_mocks_build_target_and_inject_dependencies_and_mocks()
        {
            // ASSERT
            var container = new DependencyContainer();

            container.AddDependencyInstance(new FancyGloves());

            var builder = new AutoMock <Driver>(container);

            builder.SelectConstructor();
            var driver = builder.CreateTarget();

            //ACT
            driver.Drive();

            //ASSERT
            Assert.IsNotNull(builder.GetMock <IVehicle>());
            Assert.IsNotNull(builder.GetMock <IDrivingLicense>());

            builder.GetMock <IVehicle>()
            .Received()
            .Drive();
        }
        public void Should_build_target_When_value_dependency()
        {
            //ARRANGE
            var container = new DependencyContainer();

            container.AddDependencyInstance(true);
            container.AddDependencyInstance(new Byte());
            container.AddDependencyInstance('c');
            container.AddDependencyInstance(new Decimal());
            container.AddDependencyInstance((double)1);
            container.AddDependencyInstance((float)1);
            container.AddDependencyInstance((int)1);
            container.AddDependencyInstance((long)1);
            container.AddDependencyInstance((sbyte)1);
            container.AddDependencyInstance((short)1);
            container.AddDependencyInstance((uint)1);
            container.AddDependencyInstance((ulong)1);
            container.AddDependencyInstance((ushort)1);
            container.AddDependencyInstance("string");

            var builder = new AutoMock <Target_ValueTypeDependency>(container);

            //ACT
            builder.SelectConstructor();
            var target = builder.CreateTarget();

            //ASSERT
            Assert.IsNotNull(target);
        }