public void T050_PileNonOwnershipErrorStart() { var pile = new DefaultPile(); try { var cache = new LocalCache(); cache.Pile = pile; cache.Configure(null); cache.Start(); //can not start cache that uses inactive pile which is not managed by this cache } finally { pile.Dispose(); } }
public void T060_PileNonOwnership() { var pile = new DefaultPile(); pile.Start(); try { var cache = new LocalCache(); cache.Pile = pile; cache.Configure(null); cache.Start(); var tA = cache.GetOrCreateTable <string>("A"); tA.Put("aaa", "avalue"); tA.Put("bbb", "bvalue"); Assert.AreEqual("avalue", tA.Get("aaa")); Assert.AreEqual(2, cache.Count); Assert.AreEqual(2, pile.ObjectCount); cache.WaitForCompleteStop(); Assert.AreEqual(NFX.ServiceModel.ControlStatus.Inactive, cache.Status); Assert.AreEqual(NFX.ServiceModel.ControlStatus.Active, pile.Status); Assert.AreEqual(0, pile.ObjectCount); cache = new LocalCache(); cache.Pile = pile; cache.Configure(null); cache.Start(); var tAbc = cache.GetOrCreateTable <string>("Abc"); tAbc.Put("aaa", "avalue"); tAbc.Put("bbb", "bvalue"); tAbc.Put("ccc", "cvalue"); tAbc.Put("ddd", "cvalue"); Assert.AreEqual(4, pile.ObjectCount); var cache2 = new LocalCache(); cache2.Pile = pile; cache2.Configure(null); cache2.Start(); var t2 = cache2.GetOrCreateTable <string>("A"); t2.Put("aaa", "avalue"); t2.Put("bbb", "bvalue"); Assert.AreEqual(2, cache2.Count); Assert.AreEqual(6, pile.ObjectCount); cache.WaitForCompleteStop(); Assert.AreEqual(NFX.ServiceModel.ControlStatus.Active, pile.Status); Assert.AreEqual(2, pile.ObjectCount); cache2.WaitForCompleteStop(); Assert.AreEqual(NFX.ServiceModel.ControlStatus.Active, pile.Status); Assert.AreEqual(0, pile.ObjectCount); pile.WaitForCompleteStop(); Assert.AreEqual(NFX.ServiceModel.ControlStatus.Inactive, pile.Status); } finally { pile.Dispose(); } }
public void T060_PileNonOwnership() { var pile = new DefaultPile(NOPApplication.Instance); pile.Start(); try { var cache = new LocalCache(NOPApplication.Instance); cache.Pile = pile; cache.Configure(null); cache.Start(); var tA = cache.GetOrCreateTable <string>("A"); tA.Put("aaa", "avalue"); tA.Put("bbb", "bvalue"); Aver.AreObjectsEqual("avalue", tA.Get("aaa")); Aver.AreEqual(2, cache.Count); Aver.AreEqual(2, pile.ObjectCount); cache.WaitForCompleteStop(); Aver.IsTrue(DaemonStatus.Inactive == cache.Status); Aver.IsTrue(DaemonStatus.Active == pile.Status); Aver.AreEqual(0, pile.ObjectCount); cache = new LocalCache(NOPApplication.Instance); cache.Pile = pile; cache.Configure(null); cache.Start(); var tAbc = cache.GetOrCreateTable <string>("Abc"); tAbc.Put("aaa", "avalue"); tAbc.Put("bbb", "bvalue"); tAbc.Put("ccc", "cvalue"); tAbc.Put("ddd", "cvalue"); Aver.AreEqual(4, pile.ObjectCount); var cache2 = new LocalCache(NOPApplication.Instance); cache2.Pile = pile; cache2.Configure(null); cache2.Start(); var t2 = cache2.GetOrCreateTable <string>("A"); t2.Put("aaa", "avalue"); t2.Put("bbb", "bvalue"); Aver.AreEqual(2, cache2.Count); Aver.AreEqual(6, pile.ObjectCount); cache.WaitForCompleteStop(); Aver.IsTrue(DaemonStatus.Active == pile.Status); Aver.AreEqual(2, pile.ObjectCount); cache2.WaitForCompleteStop(); Aver.IsTrue(DaemonStatus.Active == pile.Status); Aver.AreEqual(0, pile.ObjectCount); pile.WaitForCompleteStop(); Aver.IsTrue(DaemonStatus.Inactive == pile.Status); } finally { pile.Dispose(); } }