public void MethodInject_InjectsCorrectDependencies() { //ARRANGE var container = new Container(builder => { builder.Register <ITestService10, TestService10>(); }); var instance = new MethodInjectionClass(); //ACT container.MethodInject(instance); //ASSERT Assert.IsType <TestService10>(instance.TestService10); }
public void MethodInject_NoInjectionsRegistered() { //ARRANGE var container = new Container(builder => { builder.Register <ITestService10, TestService10>(); }); var instance = new MethodInjectionClass(); //ACT container.LateInject(instance); //ASSERT Assert.Null(instance.TestService10); }
public void FieldInject_Expression_Field_InjectsCorrectDependencies() { //ARRANGE var container = new Container(builder => { builder.Register <ITestService10, TestService10>(); builder.LateInject <MethodInjectionClass>(c => c .UseMember(o => o.TestService10Field)); }); var instance = new MethodInjectionClass(); //ACT container.LateInject(instance); //ASSERT Assert.IsType <TestService10>(instance.TestService10Field); }
public void PropertyInject_Name_InjectsCorrectDependencies() { //ARRANGE var container = new Container(builder => { builder.Register <ITestService10, TestService10>(); builder.LateInject <MethodInjectionClass>(c => c .UseProperty(nameof(MethodInjectionClass.TestService10))); }); var instance = new MethodInjectionClass(); //ACT container.LateInject(instance); //ASSERT Assert.IsType <TestService10>(instance.TestService10); }
public void MethodInject_Scoped_InjectsCorrectDependencies() { //ARRANGE var container = new Container(builder => { builder.Register <ITestService10, TestService10>(); builder.LateInject <MethodInjectionClass>(c => c .UseMethod(nameof(MethodInjectionClass.Inject))); }); var instance = new MethodInjectionClass(); //ACT Scoped scope = container.BeginScope(); scope.LateInject(instance); //ASSERT Assert.IsType <TestService10>(instance.TestService10); }
public void MethodInject_RegistrationWithNoInjections() { //ARRANGE var container = new Container(builder => { builder.Register <ITestService10, TestService10>(); builder.LateInject <MethodInjectionClass>(c => { //Do nothing }); }); var instance = new MethodInjectionClass(); //ACT container.LateInject(instance); //ASSERT Assert.Null(instance.TestService10); }