public void grandChildInjectorSuppliesInjectionFromAncestor() { Injector childInjector; Injector grandChildInjector; ClassInjectee injectee = new ClassInjectee(); injector.Map(typeof(Clazz)).ToSingleton <Clazz>(); childInjector = injector.CreateChildInjector(); grandChildInjector = childInjector.CreateChildInjector(); grandChildInjector.InjectInto(injectee); Assert.IsInstanceOf <Clazz>(injectee.property, "injectee has been injected with Clazz instance from grandChildInjector"); }
public void parentMappedSingletonGetsInitializedByParentWhenInvokedThroughChildInjector() { Clazz parentClazz = new Clazz(); injector.Map(typeof(Clazz)).ToValue(parentClazz); injector.Map(typeof(ClassInjectee)).AsSingleton(); Injector childInjector = injector.CreateChildInjector(); Clazz childClazz = new Clazz(); childInjector.Map(typeof(Clazz)).ToValue(childClazz); ClassInjectee classInjectee = childInjector.GetInstance <ClassInjectee>(); Assert.AreEqual(classInjectee.property, parentClazz, "classInjectee.property is injected with value mapped in parent injector"); }