Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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"]);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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"]);
        }