public void ChildInheritsParentsConfiguration_RegisterInstanceResolve() { UnityContainer parent = new UnityContainer(); ITestContainer obj = new TestContainer(); parent.RegisterInstance<ITestContainer>("InParent", obj); IUnityContainer child = parent.CreateChildContainer(); ITestContainer objtest = child.Resolve<ITestContainer>("InParent"); Assert.IsNotNull(objtest); Assert.AreSame(objtest, obj); }
public void CheckNullHandledInRegisterInstance() { UnityContainer parent = new UnityContainer(); TestContainer obj = new TestContainer(); AssertHelper.ThrowsException<ArgumentNullException>(() => parent.RegisterInstance<TestContainer>(obj, null)); }
public void ParentNotDisposedWhenChildDisposed() { UnityContainer parent = new UnityContainer(); IUnityContainer child = parent.CreateChildContainer(); TestContainer obj1 = new TestContainer(); TestContainer3 obj3 = new TestContainer3(); parent.RegisterInstance<TestContainer>(obj1); child.RegisterInstance<TestContainer3>(obj3); child.Dispose(); //parent not getting disposed Assert.IsFalse(obj1.WasDisposed); //child getting disposed. Assert.IsTrue(obj3.WasDisposed); }
public void ChainOfContainers() { UnityContainer parent = new UnityContainer(); IUnityContainer child = parent.CreateChildContainer(); IUnityContainer child2 = child.CreateChildContainer(); IUnityContainer child3 = child2.CreateChildContainer(); TestContainer obj1 = new TestContainer(); parent.RegisterInstance<TestContainer>("InParent", obj1); child.RegisterInstance<TestContainer>("InChild", obj1); child2.RegisterInstance<TestContainer>("InChild2", obj1); child3.RegisterInstance<TestContainer>("InChild3", obj1); object objresolve = child3.Resolve<TestContainer>("InParent"); object objresolve1 = parent.Resolve<TestContainer>("InChild3"); Assert.AreSame(obj1, objresolve); child.Dispose(); //parent not getting disposed Assert.IsTrue(obj1.WasDisposed); }
public void ChildInheritsParentsConfiguration_RegisterInstanceResolveAll() { ITestContainer objdefault = new TestContainer(); ITestContainer objfirst = new TestContainer1(); ITestContainer objsecond = new TestContainer2(); ITestContainer objthird = new TestContainer3(); UnityContainer parent = new UnityContainer(); parent.RegisterInstance<ITestContainer>(objdefault) .RegisterInstance<ITestContainer>("first", objfirst) .RegisterInstance<ITestContainer>("second", objsecond); IUnityContainer child = parent.CreateChildContainer() .RegisterInstance<ITestContainer>("third", objthird); List<ITestContainer> list = new List<ITestContainer>(child.ResolveAll<ITestContainer>()); Assert.AreEqual(3, list.Count); }