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); } }
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); } }
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); } }
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); } }