public void Test_ValueInjectionToNestedMembers() { Injector injector = new Injector(); // Add first binding SimpleClassA value = new SimpleClassA(); injector.AddBinding <SimpleClassA>().ToValue(value); // Create injection target ExtendedClassThatUses_SimpleClassA target = new ExtendedClassThatUses_SimpleClassA(); // Check before injection Assert.Null(target.value1); Assert.Null(target.value2); // Inject injector.InjectInto(target); // Check error Assert.Equal(0, injector.ErrorCount); // Check after injection Assert.NotNull(target.value1); Assert.NotNull(target.value2); Assert.Same(value, target.value1); Assert.Same(value, target.value2); }
public void Test_TypedInjectionToNestedMembers() { InjectorContext injector = new InjectorContext(); // Add first binding injector.AddBinding <SimpleClassA>().ToType <SimpleClassA>(); // Create injection target var target = new ExtendedClassThatUses_SimpleClassA(); // Check before injection Assert.Null(target.value2); Assert.Null(target.value1); // Inject injector.InjectInto(target); // Check error Assert.Equal(0, injector.ErrorCount); // Check after injection Assert.NotNull(target.value2); Assert.NotNull(target.value1); }