public void Basic_Put_Get_Remove() { using (var store = new CacheStore(null)) { var tbl1 = store["t1"]; for (int i = 0; i < 1000; i++) { var bo = new businessObject { ID = i, Name = "Xroemson-{0}".Args(i), IsGood = i % 7 == 0 }; Assert.IsTrue(tbl1.Put((ulong)i, bo)); } Assert.AreEqual(1000, tbl1.Count); Assert.IsTrue(tbl1.Remove(115)); Assert.AreEqual(999, tbl1.Count); Assert.AreEqual("Xroemson-12", tbl1.Get(12).ValueAs <businessObject>().Name); Assert.AreEqual(null, tbl1.Get(115)); Assert.AreEqual("Xroemson-999", tbl1.Get(999).ValueAs <businessObject>().Name); Assert.AreEqual(true, tbl1.Get(7).ValueAs <businessObject>().IsGood); } }
public void Get_Does_Not_See_AbsoluteExpired() { using (var store = new CacheStore(null)) { var tbl1 = store["t1"]; var utcNow = App.TimeSource.UTCNow; var utcExp = utcNow.AddSeconds(5); var bo1 = new businessObject { ID = 1, Name = "Suvorov-1", IsGood = true }; Assert.IsTrue(tbl1.Put(1, bo1, maxAgeSec: int.MaxValue, absoluteExpirationUTC: utcExp)); var bo2 = new businessObject { ID = 2, Name = "Meduzer-2", IsGood = false }; Assert.IsTrue(tbl1.Put(2, bo2)); Assert.AreEqual(2, tbl1.Count); System.Threading.Thread.Sleep(15000);// this timeout depends on store sweep thread speed, 15 sec span should be enough Assert.AreEqual(1, tbl1.Count); Assert.IsNull(tbl1.Get(1)); // expired Assert.AreEqual("Meduzer-2", tbl1.Get(2).ValueAs <businessObject>().Name); //still there } }
public void Put_Expire_Get() { using (var store = new CacheStore(null)) { var tbl1 = store["t1"]; for (int i = 0; i < 1000; i++) { var bo = new businessObject { ID = i, Name = "Suvorov-{0}".Args(i), IsGood = i % 7 == 0 }; Assert.IsTrue(tbl1.Put((ulong)i, bo, i < 500 ? 5 : 100)); } Assert.AreEqual(1000, tbl1.Count); //warning: this timeout depends on how fast the store will purge garbage for (var spin = 0; spin < 20 && tbl1.Count != 500; spin++) { System.Threading.Thread.Sleep(1000); } Assert.AreEqual(500, tbl1.Count); Assert.AreEqual(null, tbl1.Get(1)); Assert.AreEqual(null, tbl1.Get(499)); Assert.AreEqual("Suvorov-500", tbl1.Get(500).ValueAs <businessObject>().Name); Assert.AreEqual("Suvorov-999", tbl1.Get(999).ValueAs <businessObject>().Name); } }
public void Basic_Put_Get_HitCount() { using (var store = new CacheStore(null)) { var tbl1 = store["t1"]; for (int i = 0; i < 100; i++) { var bo = new businessObject { ID = i, Name = "Froemson-{0}".Args(i), IsGood = i % 7 == 0 }; Assert.IsTrue(tbl1.Put((ulong)i, bo)); } Assert.AreEqual(100, tbl1.Count); Assert.AreEqual("Froemson-12", tbl1.Get(12).ValueAs <businessObject>().Name); Assert.AreEqual("Froemson-12", store["t1", 12].ValueAs <businessObject>().Name); Assert.AreEqual(true, tbl1.Get(7).ValueAs <businessObject>().IsGood); Assert.AreEqual(1, tbl1.Get(0).HitCount); Assert.AreEqual(3, tbl1.Get(12).HitCount); Assert.AreEqual(2, tbl1.Get(7).HitCount); } }
public void customerLogin() { Console.WriteLine("enter login"); string login = Console.ReadLine(); Console.WriteLine("enter passwd"); string passwd = Console.ReadLine(); businessObject bo = new businessObject { login = login, passwd = passwd }; }
public void customerLogin() { Console.WriteLine("enter login"); string login = Console.ReadLine(); Console.WriteLine("enter passwd"); string passwd = Console.ReadLine(); businessObject bo = new businessObject { login = login, passwd = passwd }; businessLogicLayerClass ob = new businessLogicLayerClass(); ob.getCustomerLogin(bo); }
public void Basic_Put_Get() { using(var store = new CacheStore(null)) { var tbl1 = store["t1"]; for(int i=0; i<1000; i++) { var bo = new businessObject { ID = i, Name = "Froemson-{0}".Args(i), IsGood = i%7==0}; Assert.IsTrue( tbl1.Put((ulong)i, bo) ); } Assert.AreEqual( 1000, tbl1.Count); Assert.AreEqual( "Froemson-12", tbl1.Get(12) .ValueAs<businessObject>().Name ); Assert.AreEqual( "Froemson-115", store["t1", 115].ValueAs<businessObject>().Name ); Assert.AreEqual( "Froemson-999", tbl1.Get(999) .ValueAs<businessObject>().Name ); Assert.AreEqual( true, tbl1.Get(7).ValueAs<businessObject>().IsGood ); } }
public void Basic_Put_Get() { using (var store = new CacheStore(NOPApplication.Instance)) { var tbl1 = store["t1"]; for (int i = 0; i < 1000; i++) { var bo = new businessObject { ID = i, Name = "Froemson-{0}".Args(i), IsGood = i % 7 == 0 }; Aver.IsTrue(tbl1.Put((ulong)i, bo)); } Aver.AreEqual(1000, tbl1.Count); Aver.AreEqual("Froemson-12", tbl1.Get(12).ValueAs <businessObject>().Name); Aver.AreEqual("Froemson-115", store["t1", 115].ValueAs <businessObject>().Name); Aver.AreEqual("Froemson-999", tbl1.Get(999).ValueAs <businessObject>().Name); Aver.AreEqual(true, tbl1.Get(7).ValueAs <businessObject>().IsGood); } }
public void Collision_Prevented_Priority() { using (var store = new CacheStore(null)) { store.TableOptions.Register(new TableOptions("t1", 3, 7)); var tbl1 = store["t1"]; Assert.AreEqual(21, tbl1.Capacity); //because of the table size 3 x 7 both 0 and 21 map onto the same slot causing collision var obj1 = new businessObject { ID = 0, Name = "Suvorov-1", IsGood = true }; var obj2 = new businessObject { ID = 21, Name = "Kozloff-21", IsGood = false }; Assert.IsTrue(tbl1.Put(0, obj1, priority: 10)); //Suvorov has higher priority than Kozloff Assert.IsFalse(tbl1.Put(21, obj2)); //so collision does not happen Assert.AreEqual("Suvorov-1", tbl1.Get(0).ValueAs <businessObject>().Name); Assert.IsNull(tbl1.Get(21)); } }
public void Get_Does_Not_See_Expired() { using (var store = new CacheStore(null)) { var tbl1 = store["t1"]; for (int i = 0; i < 200; i++) { var bo = new businessObject { ID = i, Name = "Suvorov-{0}".Args(i), IsGood = i % 7 == 0 }; Assert.IsTrue(tbl1.Put((ulong)i, bo)); } Assert.AreEqual(200, tbl1.Count); Assert.IsNotNull(tbl1.Get(123, 3)); //3 sec old System.Threading.Thread.Sleep(15000); // this timeout depends on store sweep thread speed, 15 sec span should be enough Assert.IsNull(tbl1.Get(123, 3)); //3 sec old Assert.AreEqual("Suvorov-123", tbl1.Get(123, 25).ValueAs <businessObject>().Name); //25 sec old } }
public void Collision() { using (var store = new CacheStore(null)) { store.TableOptions.Register(new TableOptions("t1", 3, 7)); var tbl1 = store["t1"]; Aver.AreEqual(21, tbl1.Capacity); var obj1 = new businessObject { ID = 0, Name = "Suvorov-1", IsGood = true }; var obj2 = new businessObject { ID = 21, Name = "Kozloff-21", IsGood = false }; //because of the table size 3 x 7 both 0 and 21 map onto the same slot causing collision Aver.IsTrue(tbl1.Put(0, obj1)); Aver.IsFalse(tbl1.Put(21, obj2)); Aver.IsNull(tbl1.Get(0)); Aver.AreEqual("Kozloff-21", tbl1.Get(21).ValueAs <businessObject>().Name); } }
public void Put_Expire_Get() { using( var store = new CacheStore(null)) { var tbl1 = store["t1"]; for(int i=0; i<1000; i++) { var bo = new businessObject { ID = i, Name = "Suvorov-{0}".Args(i), IsGood = i%7==0}; Assert.IsTrue( tbl1.Put((ulong)i, bo, i<500 ? 5 : 100 ) ); } Assert.AreEqual( 1000, tbl1.Count); //warning: this timeout depends on how fast the store will purge garbage for(var spin=0; spin<20 && tbl1.Count!=500; spin++) { System.Threading.Thread.Sleep( 1000 ); } Assert.AreEqual( 500, tbl1.Count); Assert.AreEqual( null, tbl1.Get(1) ); Assert.AreEqual( null, tbl1.Get(499) ); Assert.AreEqual( "Suvorov-500", tbl1.Get(500).ValueAs<businessObject>().Name ); Assert.AreEqual( "Suvorov-999", tbl1.Get(999).ValueAs<businessObject>().Name ); } }
public void Get_Does_Not_See_Expired() { using(var store = new CacheStore(null)) { var tbl1 = store["t1"]; for(int i=0; i<200; i++) { var bo = new businessObject { ID = i, Name = "Suvorov-{0}".Args(i), IsGood = i%7==0}; Assert.IsTrue( tbl1.Put((ulong)i, bo) ); } Assert.AreEqual( 200, tbl1.Count); Assert.IsNotNull( tbl1.Get(123, 3) );//3 sec old System.Threading.Thread.Sleep( 15000 );// this timeout depends on store sweep thread speed, 15 sec span should be enough Assert.IsNull( tbl1.Get(123, 3) );//3 sec old Assert.AreEqual( "Suvorov-123", tbl1.Get(123, 25).ValueAs<businessObject>().Name ); //25 sec old } }
public void Get_Does_Not_See_AbsoluteExpired() { using(var store = new CacheStore(null)) { var tbl1 = store["t1"]; var utcNow = App.TimeSource.UTCNow; var utcExp = utcNow.AddSeconds(5); var bo1 = new businessObject { ID = 1, Name = "Suvorov-1", IsGood = true}; Assert.IsTrue( tbl1.Put(1, bo1, maxAgeSec: int.MaxValue, absoluteExpirationUTC: utcExp) ); var bo2 = new businessObject { ID = 2, Name = "Meduzer-2", IsGood = false}; Assert.IsTrue( tbl1.Put(2, bo2) ); Assert.AreEqual( 2, tbl1.Count); System.Threading.Thread.Sleep( 15000 );// this timeout depends on store sweep thread speed, 15 sec span should be enough Assert.AreEqual( 1, tbl1.Count); Assert.IsNull( tbl1.Get(1) );// expired Assert.AreEqual( "Meduzer-2", tbl1.Get(2).ValueAs<businessObject>().Name ); //still there } }
public void Collision_Prevented_Priority() { using(var store = new CacheStore(null)) { store.TableOptions.Register( new TableOptions("t1",3 ,7) ); var tbl1 = store["t1"]; Assert.AreEqual( 21, tbl1.Capacity); //because of the table size 3 x 7 both 0 and 21 map onto the same slot causing collision var obj1 = new businessObject { ID = 0, Name = "Suvorov-1", IsGood = true}; var obj2 = new businessObject { ID = 21, Name = "Kozloff-21", IsGood = false}; Assert.IsTrue( tbl1.Put(0, obj1, priority: 10) ); //Suvorov has higher priority than Kozloff Assert.IsFalse( tbl1.Put(21, obj2) ); //so collision does not happen Assert.AreEqual( "Suvorov-1", tbl1.Get(0).ValueAs<businessObject>().Name ); Assert.IsNull( tbl1.Get(21) ); } }
public bool checkLogin(businessObject bo, string filename) { StreamReader sr = }
public void checkCustomerLogin(businessObject bo) { }
public void getCustomerLogin(businessObject ob) { dataAcessLayerClass obj = new dataAcessLayerClass(); obj.checkCustomerLogin(ob); }