public void Basic_NoComparer() { using (var set = new CappedSet <string>(NOPApplication.Instance)) { Aver.IsTrue(set.Put("Gagarin")); Aver.IsTrue(set.Put("Titov")); Aver.IsTrue(set.Put("Glenn")); Aver.IsTrue(set.Contains("Glenn")); Aver.IsFalse(set.Contains("GLENN")); Aver.IsFalse(set.Put("Titov")); Aver.AreEqual(3, set.Count); Aver.AreEqual(3, set.ToArray().Length); DateTime cd; Aver.IsTrue(set.Get("Titov", out cd)); Aver.IsTrue((Ambient.UTCNow - cd).TotalSeconds < 2d);//unless machine freezes :( Aver.IsFalse(set.Get("Neverflew", out cd)); set.Clear(); Aver.AreEqual(0, set.Count); Aver.AreEqual(0, set.ToArray().Length); Aver.IsTrue(set.Put("Gagarin")); Aver.IsTrue(set.Put("GAGARIN")); Aver.IsFalse(set.Put("Gagarin")); Aver.IsTrue(set.Remove("Gagarin")); Aver.IsTrue(set.Put("Gagarin")); } }
public void Basic_Comparer() { using (var set = new CappedSet <string>(StringComparer.OrdinalIgnoreCase)) { Aver.IsTrue(set.Put("Gagarin")); Aver.IsTrue(set.Put("Titov")); Aver.IsTrue(set.Put("Glenn")); Aver.IsTrue(set.Contains("Glenn")); Aver.IsTrue(set.Contains("GLENN")); Aver.IsFalse(set.Put("Titov")); Aver.AreEqual(3, set.Count); Aver.AreEqual(3, set.ToArray().Length); DateTime cd; Aver.IsTrue(set.Get("Titov", out cd)); Aver.IsTrue((App.TimeSource.UTCNow - cd).TotalSeconds < 2d);//unless machine freezes :( Aver.IsFalse(set.Get("Neverflew", out cd)); set.Clear(); Aver.AreEqual(0, set.Count); Aver.AreEqual(0, set.ToArray().Length); Aver.IsTrue(set.Put("Gagarin")); Aver.IsFalse(set.Put("GAGARIN")); Aver.IsTrue(set.Remove("Gagarin")); Aver.IsTrue(set.Put("Gagarin")); } }
public ClientTokenRing(IApplicationComponent director) : base(director) { m_Deleted = new CappedSet <string>(this, StringComparer.OrdinalIgnoreCase); m_Deleted.SizeLimit = 1024 * 1024; m_Deleted.TimeLimitSec = 8 * // hrs 60 * // minutes 60; // seconds }
private void ctor() { m_Queues = new Registry <TodoQueue>(); m_Duplicates = new CappedSet <Data.GDID>(this); if (!App.Singletons.GetOrCreate(() => this).created) { throw new WorkersException("{0} is already allocated".Args(typeof(TodoQueueService).FullName)); } }
public void Mutithreaded() { using (var set = new CappedSet <int>()) { set.TimeLimitSec = 30;// set.SizeLimit = 7000; Parallel.For(0, 1500000, (i) => { set.Put(i); set.Contains(i); }); for (var i = 0; i < 40; i++) { Console.WriteLine(" count: {0}".Args(set.Count)); Thread.Sleep(1000); } Aver.AreEqual(0, set.Count); } }
public void Max_Size() { using (var set = new CappedSet <int>()) { set.SizeLimit = 10000; for (var i = 0; i < 150000; i++) { set.Put(i); } for (var i = 0; i < 40; i++) { Console.WriteLine(" count: {0}".Args(set.Count)); Thread.Sleep(1000); } Aver.IsTrue(set.Count <= (set.SizeLimit + 1024));//1024 margin of error } }
public void Max_SizeandTime() { using (var set = new CappedSet <int>()) { set.TimeLimitSec = 30;// set.SizeLimit = 7000; for (var i = 0; i < 150000; i++) { set.Put(i); } for (var i = 0; i < 40; i++) { Console.WriteLine(" count: {0}".Args(set.Count)); Thread.Sleep(1000); } Aver.AreEqual(0, set.Count); } }
public void Max_Age() { using (var set = new CappedSet <int>()) { set.TimeLimitSec = 10; for (var i = 0; i < 1000; i++) { set.Put(i); } Aver.AreEqual(1000, set.Count); for (var i = 0; i < 40; i++) { Console.WriteLine(" count: {0}".Args(set.Count)); Thread.Sleep(1000); } Aver.AreEqual(0, set.Count); Aver.IsFalse(set.Any()); } }