public void GetCollectionListTest() { var c1 = TestContainer1.GetCollectionList(); var c2 = TestContainer2.GetCollectionList(); Assert.IsNotNull(c1); Assert.IsNotNull(c2); var h1 = c1.GetHashCode(); var h2 = c2.GetHashCode(); Assert.AreNotEqual(h2, h1); Console.WriteLine("H1:{0},H2{1}", h1, h2); }
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); }
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); }
public void RegisterContainerCacheStrategyTest() { Console.WriteLine("不注册"); { //不注册,使用默认 var c1 = TestContainer1.GetCollectionList(); Console.WriteLine(c1.Count);//0 var c1Strategy = CacheStrategyFactory.GetContainerCacheStragegyInstance(); Assert.IsNotNull(c1Strategy); var key = typeof(TestContainer1).ToString(); var data = c1Strategy.Get(key); Assert.IsNotNull(data); var newData = new ContainerItemCollection(); newData["A"] = new TestContainerBag1(); c1Strategy.InsertToCache(key, newData); data = c1Strategy.Get(key); Assert.AreEqual(1, data.GetCount()); Console.WriteLine(data.GetCount());//1 var collectionList = TestContainer1.GetCollectionList()[key]; collectionList.InsertToCache("ABC", new TestContainerBag1()); data = c1Strategy.Get(key); Assert.AreEqual(2, data.GetCount()); Console.WriteLine(data.GetCount());//2 } Console.WriteLine("使用注册"); { //进行注册 CacheStrategyFactory.RegisterContainerCacheStrategy(() => { return(LocalContainerCacheStrategy.Instance as IContainerCacheStragegy); }); var key = typeof(TestContainer2).ToString(); var c2 = TestContainer2.GetCollectionList(); Console.WriteLine(c2.Count);//1(位注册的时候已经注册过一个TestContainer1) var c2Strategy = CacheStrategyFactory.GetContainerCacheStragegyInstance(); Assert.IsNotNull(c2Strategy); var data = c2Strategy.Get(key); Assert.IsNotNull(data); var newData = new ContainerItemCollection(); newData["A"] = new TestContainerBag1(); c2Strategy.InsertToCache(key, newData); data = c2Strategy.Get(key); Assert.AreEqual(1, data.GetCount()); Console.WriteLine(data.GetCount());//1 var collectionList = TestContainer2.GetCollectionList()[typeof(TestContainer2).ToString()]; collectionList.InsertToCache("DEF", new TestContainerBag2()); data = c2Strategy.Get(key); Assert.AreEqual(2, data.GetCount()); Console.WriteLine(data.GetCount());//1 } }