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 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 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); } }