public void ShrinkCacheTest() { NFileCache target = new NFileCache("ShrinkCacheTest"); // Test empty case Assert.AreEqual(0, target.Trim(0)); // Insert 4 items, and keep track of their size target.Add("item1", "test1", DateTime.Now.AddDays(1)); long size1 = target.GetCacheSize(); target.Add("item2", "test22", DateTime.Now); long size2 = target.GetCacheSize() - size1; target.Add("item3", "test333", DateTime.Now.AddSeconds(10)); long size3 = target.GetCacheSize() - size1 - size2; target.Add("item4", "test4444", DateTime.Now.AddDays(-1)); long size4 = target.GetCacheSize() - size1 - size2 - size3; // Shrink to the size of the first 3 items (should remove item4 because it's the oldest, keeping the other 3) long newSize = target.Trim(size1 + size2 + size3); Assert.AreEqual(size1 + size2 + size3, newSize); // Shrink to just smaller than two items (should keep just item1, delete item2 and item3) newSize = target.Trim(size1 + size3 - 1); Assert.AreEqual(size1, newSize); // Shrink to size 1 (should delete everything) newSize = target.Trim(1); Assert.AreEqual(0, newSize); }
public void FlushTest() { NFileCache target = new NFileCache("FlushTest"); target.Add("foo", 1, DateTime.Now); // expires immediately target.Add("bar", 2, DateTime.Now.AddDays(1)); // set to expire tomorrow // Attempt flush target.Flush(); Assert.IsNull(target["foo"]); Assert.IsNotNull(target["bar"]); }
public void ShrinkCacheTest() { NFileCache target = new NFileCache("ShrinkCacheTest"); // Test empty case Assert.AreEqual(0, target.Trim(0)); // Insert 4 items, and keep track of their size target.Add("item1", "test1", DateTime.Now.AddDays(1)); long size1 = target.GetCacheSize(); target.Add("item2", "test22", DateTime.Now); long size2 = target.GetCacheSize() - size1; target.Add("item3", "test333", DateTime.Now.AddSeconds(10)); long size3 = target.GetCacheSize() - size1 - size2; target.Add("item4", "test4444", DateTime.Now.AddDays(-1)); long size4 = target.GetCacheSize() - size1 - size2 - size3; // Shrink to the size of the first 3 items (should remove item4 because it's the oldest, keeping the other 3) long newSize = target.Trim(size1 + size2 + size3); Assert.AreEqual(size1 + size2 + size3, newSize); // Shrink to just smaller than two items (should keep just item1, delete item2 and item3) newSize = target.Trim(size1 + size3 - 1); Assert.AreEqual(size1, newSize); // Shrink to size 1 (should delete everything) newSize = target.Trim(1); Assert.AreEqual(0, newSize); }
public void FlushTest() { NFileCache target = new NFileCache("FlushTest"); target.Add("foo", 1, DateTime.Now); // expires immediately target.Add("bar", 2, DateTime.Now.AddDays(1)); // set to expire tomorrow // Attempt flush target.Flush(); Assert.IsNull(target["foo"]); Assert.IsNotNull(target["bar"]); }