private static IKernel InitializeContainer() { IKernel container = new DefaultKernel(); container.AddComponentInstance <AccountRepository>( typeof(IAccountRepository), new AccountRepository( Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "DinDin"))); container.AddComponent <AccountServices>(typeof(IAccountServices), LifestyleType.Singleton, true); return(container); }
public void ChildKernelOverloadsParentKernel2() { DefaultTemplateEngine instance1 = new DefaultTemplateEngine(); DefaultTemplateEngine instance2 = new DefaultTemplateEngine(); IKernel subkernel = new DefaultKernel(); kernel.AddChildKernel(subkernel); // subkernel added first, then populated with overloaded components after kernel.AddComponentInstance("engine", instance2); Assert.AreEqual(instance2, kernel["engine"]); Assert.AreEqual(instance2, subkernel["engine"]); subkernel.AddComponentInstance("engine", instance1); Assert.AreEqual(instance1, subkernel["engine"]); Assert.AreEqual(instance2, kernel["engine"]); }
public void ChildKernelOverloadsParentKernel1() { DefaultTemplateEngine instance1 = new DefaultTemplateEngine(); DefaultTemplateEngine instance2 = new DefaultTemplateEngine(); // subkernel added with already registered components that overload parent components. IKernel subkernel = new DefaultKernel(); subkernel.AddComponentInstance("engine", instance1); Assert.AreEqual(instance1, subkernel["engine"]); kernel.AddComponentInstance("engine", instance2); Assert.AreEqual(instance2, kernel["engine"]); kernel.AddChildKernel(subkernel); Assert.AreEqual(instance1, subkernel["engine"]); Assert.AreEqual(instance2, kernel["engine"]); }