public void GetCacheKeyNamespaceTest() { var obj = new TestContainerBag1() as IBaseContainerBag;//使用接口或基类 var result = ContainerHelper.GetCacheKeyNamespace(obj.GetType()); Console.WriteLine(result); Assert.AreEqual("Container:Senparc.Weixin.Containers.Tests.TestContainerBag1", result); }
public void GetItemCacheKeyTest2() { var shortKey = "456BCD"; var obj = new TestContainerBag1() { Key = "key" } as IBaseContainerBag;//使用接口或基类 var result = ContainerHelper.GetItemCacheKey(obj, shortKey); Assert.AreEqual("Container:Senparc.Weixin.Containers.Tests.TestContainerBag1:" + shortKey, result); }
public void RunTest() { //默认情况下ThreadUtility应该已经将SenparcMessageQueueThreadUtility加入列队 //下面对Container进行测试 var c1 = TestContainer1.GetCollectionList(); var key = DateTime.Now.Ticks.ToString(); var bag = new TestContainerBag1() { Key = key, DateTime = DateTime.Now }; TestContainer1.Update(key, bag); bag.DateTime = DateTime.MinValue;//进行修改 //读取列队 var mq = new SenparcMessageQueue(); var mqKey = SenparcMessageQueue.GenerateKey("A",typeof(TestContainerBag1), bag.Key,"B"); var mqItem = mq.GetItem(mqKey); Assert.IsNotNull(mqItem); }
public void RunTest() { //默认情况下ThreadUtility应该已经将SenparcMessageQueueThreadUtility加入列队 //下面对Container进行测试 var c1 = TestContainer1.GetCollectionList(); var key = DateTime.Now.Ticks.ToString(); var bag = new TestContainerBag1() { Key = key, DateTime = DateTime.Now }; TestContainer1.Update(key, bag); bag.DateTime = DateTime.MinValue;//进行修改 //读取列队 var mq = new SenparcMessageQueue(); var mqKey = SenparcMessageQueue.GenerateKey("A", typeof(TestContainerBag1), bag.Key, "B"); var mqItem = mq.GetItem(mqKey); Assert.IsNotNull(mqItem); }
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.Count); Console.WriteLine(data.Count);//1 var collectionList = TestContainer1.GetCollectionList()[key]; collectionList.Add("ABC", new TestContainerBag1()); data = c1Strategy.Get(key); Assert.AreEqual(2, data.Count); Console.WriteLine(data.Count);//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.Count); Console.WriteLine(data.Count);//1 var collectionList = TestContainer2.GetCollectionList()[typeof(TestContainer2).ToString()]; collectionList.Add("DEF", new TestContainerBag2()); data = c2Strategy.Get(key); Assert.AreEqual(2, data.Count); Console.WriteLine(data.Count);//1 } }
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 } }