public void TestPartialParametersInChild() { var modules = new INinjectModule[] { new TestModuleChilds(), }; _kernel = new StandardKernel(); _kernel.Components.Add <IActivationStrategy, MyMonitorActivationStrategy>(); _kernel.Load(modules); var main1 = _kernel.Get <SomeMainModule>(); var main2 = _kernel.Get <SomeMainModule>(); Assert.AreSame(main1, main2); var factory = _kernel.Get <IFactory <SomeTimedModule> >(); SomeTimedModule someTimedModule1 = factory.Create(); SomeTimedModule someTimedModule2 = factory.Create(); Assert.AreNotSame(someTimedModule1.InnerModule, someTimedModule2.InnerModule); SomeTimedObject someTimedObject = someTimedModule1.ObjFactory.CreateWithParams(1); Assert.AreSame(someTimedObject.ModuleTimed, someTimedModule1.InnerModule); Assert.AreSame(someTimedObject.Module, main2); SomeTimedObject someTimedObject2 = someTimedModule1.ObjFactory.CreateWithParams(2); Assert.AreNotSame(someTimedObject2.TimedObjectInner, someTimedObject.TimedObjectInner); Assert.AreSame(someTimedObject2.TimedObjectInner, someTimedObject2.InnerInner.Inner); }
public void TestBindingParameters() { var modules = new INinjectModule[] { new TestModuleChilds(), }; _kernel = new StandardKernel(); _kernel.Components.Add <IActivationStrategy, MyMonitorActivationStrategy>(); _kernel.Load(modules); var factory = _kernel.Get <IBindingFactory <SomeTimedModule> >(); SomeTimedModule someTimedModule1 = factory.CreateWithBindings(new SomeObject(3)); Assert.AreEqual(someTimedModule1.SomeObject.Parameter, someTimedModule1.InnerModule.SomeObject.Parameter); }