Exemple #1
0
        public void given_instantiated_Sut_when_Create_is_called_with_two_parameters_and_parameter_1_is_null_then_TestProperty1_and_2_on_resulting_TestClass_matches_specified_values()
        {
            // Arrange
            using (var unityContainer = new UnityContainer())
            {
                unityContainer
                .RegisterAutoFactory <ITest2Factory, TestClass2Factory>()
                .UsingConcreteType <TestClass2>();

                const string  TestValue    = null;
                ISomeInstance someInstance = new SomeInstance();

                unityContainer.RegisterType <ISomeService, SomeService>(new ContainerControlledLifetimeManager());

                // Act
                var factory   = unityContainer.Resolve <ITest2Factory>();
                var testClass = factory.Create(TestValue, someInstance, string.Empty);

                // Assert
                Assert.AreEqual(TestValue, testClass.TestProperty1);
                Assert.AreEqual(someInstance, testClass.TestProperty2);
                Assert.AreEqual(unityContainer.Resolve <ISomeService>(), testClass.InjectedService);
                Assert.AreEqual(string.Empty, testClass.TestProperty3);
            }
        }
Exemple #2
0
        public void given_instantiated_Sut_when_Create_is_called_with_two_parameters_and_parameter_1_is_null_then_ArgumentNullException_is_thrown()
        {
            // Arrange
            using (var unityContainer = new UnityContainer())
            {
                unityContainer
                .RegisterTypedFactory <ITest2Factory>()
                .ForConcreteType <TestClass2>();

                const string  TestValue    = null;
                ISomeInstance someInstance = new SomeInstance();

                unityContainer.RegisterType <ISomeService, SomeService>(new ContainerControlledLifetimeManager());

                // Act
                var factory = unityContainer.Resolve <ITest2Factory>();
                factory.Create(TestValue, someInstance, string.Empty);
            }
        }
Exemple #3
0
        public void given_instantiated_Sut_when_Create_is_called_with_one_parameter_with_non_matching_parameter_name_then_invalidoperationexception_is_thrown()
        {
            // Arrange
            using (var unityContainer = new UnityContainer())
            {
                unityContainer
                .RegisterTypedFactory <ITest2Factory>()
                .ForConcreteType <TestClass2NonMatchingName>();

                ISomeInstance someInstance = new SomeInstance();
                var           factory      = unityContainer.Resolve <ITest2Factory>();

                // Act
                TestDelegate testFactoryCreate = () => factory.Create(null, someInstance, string.Empty);

                // Assert
                Assert.Throws <System.InvalidOperationException>(testFactoryCreate);
            }
        }
Exemple #4
0
        public void given_instantiated_Sut_when_Create_is_called_with_two_parameters_and_parameter_1_is_null_then_object_is_resolved_correctly()
        {
            // Arrange
            using (var unityContainer = new UnityContainer())
            {
                unityContainer
                .RegisterTypedFactory <ITest2Factory>()
                .ForConcreteType <TestClass2>();

                ISomeInstance someInstance = new SomeInstance();

                unityContainer.RegisterType <ISomeService, SomeService>(new ContainerControlledLifetimeManager());

                // Act
                var factory    = unityContainer.Resolve <ITest2Factory>();
                var testClass2 = factory.Create(null, someInstance, string.Empty);

                // Assert
                Assert.AreSame(someInstance, testClass2.TestProperty2);
                Assert.IsNull(testClass2.TestProperty1);
                Assert.AreSame(string.Empty, testClass2.TestProperty3);
            }
        }
        public void given_instantiated_Sut_when_Create_is_called_with_two_parameters_then_TestProperty1_2_and_3_on_resulting_TestClass_matches_specified_values()
        {
            // Arrange
            using (var unityContainer = new UnityContainer())
            {
                unityContainer
                    .RegisterAutoFactory<ITest2Factory, TestClass2Factory>()
                    .UsingConcreteType<TestClass2>();

                const string TestValue = "TestValue";
                ISomeInstance someInstance = new SomeInstance();

                unityContainer.RegisterType<ISomeService, SomeService>(new ContainerControlledLifetimeManager());

                // Act
                var factory = unityContainer.Resolve<ITest2Factory>();
                var testClass = factory.Create(TestValue, someInstance, string.Empty);

                // Assert
                Assert.AreEqual(TestValue, testClass.TestProperty1);
                Assert.AreEqual(someInstance, testClass.TestProperty2);
                Assert.AreEqual(unityContainer.Resolve<ISomeService>(), testClass.InjectedService);
            }
        }
        public void given_instantiated_Sut_when_Create_is_called_with_two_parameters_and_parameter_1_is_null_then_object_is_resolved_correctly()
        {
            // Arrange
            using (var unityContainer = new UnityContainer())
            {
                unityContainer
                    .RegisterTypedFactory<ITest2Factory>()
                    .ForConcreteType<TestClass2>();

                ISomeInstance someInstance = new SomeInstance();

                unityContainer.RegisterType<ISomeService, SomeService>(new ContainerControlledLifetimeManager());

                // Act
                var factory = unityContainer.Resolve<ITest2Factory>();
                var testClass2 = factory.Create(null, someInstance, string.Empty);

                // Assert
                Assert.AreSame(someInstance, testClass2.TestProperty2);
                Assert.IsNull(testClass2.TestProperty1);
                Assert.AreSame(string.Empty, testClass2.TestProperty3);
            }
        }
        public void given_instantiated_Sut_when_Create_is_called_with_one_parameter_with_non_matching_parameter_name_then_ConstructorArgumentsMismatchException_is_thrown()
        {
            // Arrange
            var unityContainer = new UnityContainer();

            unityContainer
                .RegisterTypedFactory<ITest2Factory>()
                .ForConcreteType<TestClass2NonMatchingName>();

            const string TestValue = "TestValue";
            ISomeInstance someInstance = new SomeInstance();

            // Act
            var factory = unityContainer.Resolve<ITest2Factory>();
            factory.Create(TestValue, someInstance, string.Empty);
        }
        public void given_instantiated_Sut_when_Create_is_called_with_one_of_the_parameters_not_resolvable_then_ResolutionFailedException_is_thrown()
        {
            // Arrange
            using (var unityContainer = new UnityContainer())
            {
                unityContainer
                    .RegisterTypedFactory<ITest2Factory>()
                    .ForConcreteType<TestClass2>();

                ISomeInstance someInstance = new SomeInstance();

                // Act
                var factory = unityContainer.Resolve<ITest2Factory>();
                var testClass2 = factory.Create(null, someInstance, string.Empty);

                // Assert
                Assert.AreSame(someInstance, testClass2.TestProperty2);
                Assert.IsNull(testClass2.TestProperty1);
                Assert.AreSame(string.Empty, testClass2.TestProperty3);
            }
        }
        public void given_instantiated_Sut_when_Create_is_called_with_two_parameters_and_parameter_1_is_null_then_ArgumentNullException_is_thrown()
        {
            // Arrange
            using (var unityContainer = new UnityContainer())
            {
                unityContainer
                    .RegisterTypedFactory<ITest2Factory>()
                    .ForConcreteType<TestClass2>();

                const string TestValue = null;
                ISomeInstance someInstance = new SomeInstance();

                unityContainer.RegisterType<ISomeService, SomeService>(new ContainerControlledLifetimeManager());

                // Act
                var factory = unityContainer.Resolve<ITest2Factory>();
                factory.Create(TestValue, someInstance, string.Empty);
            }
        }