Esempio n. 1
0
        public void Can_set_item()
        {
            var cache = new MKCache <Item>();
            var key   = "foo";

            var existingItem = cache.Get(key);

            Assert.Null(existingItem);

            cache.Set(key, new Item(), Expiration);

            existingItem = cache.Get(key);
            Assert.NotNull(existingItem);
        }
Esempio n. 2
0
        public void Item_can_be_removed()
        {
            var cache = new MKCache <Item>();
            var key   = "foo";

            cache.Set(key, new Item(), Expiration);

            var existingItem = cache.Get(key);

            Assert.NotNull(existingItem);

            existingItem = cache.Remove(key);
            Assert.NotNull(existingItem);

            existingItem = cache.Get(key);
            Assert.Null(existingItem);
        }
Esempio n. 3
0
        public void Can_set_item()
        {
            var cache = new MKCache <Item>(
                x => x.Id,
                x => x.Name);

            var item = new Item();

            var existingItem = cache.Get(item.Id);

            Assert.Null(existingItem);

            cache.Set("", item, Expiration);

            existingItem = cache.Get(item.Id);
            Assert.NotNull(existingItem);
        }
Esempio n. 4
0
        public async Task Single_key_item_expires()
        {
            var cache = new MKCache <Item>();
            var key   = "foo";

            var existingItem = cache.Get(key);

            Assert.Null(existingItem);

            cache.Set(key, new Item(), TimeSpan.FromMilliseconds(100));

            existingItem = cache.Get(key);
            Assert.NotNull(existingItem);

            await Task.Delay(3000);

            existingItem = cache.Get(key);
            Assert.Null(existingItem);
        }
Esempio n. 5
0
        public void Item_can_be_removed()
        {
            var cache = new MKCache <Item>(
                x => x.Id,
                x => x.Name);

            var item = new Item();

            cache.Set(item.Id, item, Expiration);

            var existingItem = cache.Get(item.Id);

            Assert.NotNull(existingItem);

            existingItem = cache.Remove(item.Id);
            Assert.NotNull(existingItem);

            existingItem = cache.Get(item.Id);
            Assert.Null(existingItem);
        }
Esempio n. 6
0
        public async Task Multi_key_item_expires()
        {
            var cache = new MKCache <Item>(
                x => x.Id,
                x => x.Name);

            var item = new Item();

            var existingItem = cache.Get(item.Id);

            Assert.Null(existingItem);

            cache.Set("", item, TimeSpan.FromMilliseconds(100));

            existingItem = cache.Get(item.Id);
            Assert.NotNull(existingItem);

            await Task.Delay(3000);

            existingItem = cache.Get(item.Id);
            Assert.Null(existingItem);
        }
Esempio n. 7
0
        public void Items_can_be_retrieved_from_the_cache()
        {
            var item = new Item();

            var factoryMock = new Mock <Func <Item> >();

            factoryMock.Setup(factory => factory()).Returns(item);

            var cache = new MKCache <Item>();

            var nullItem = cache.Get("any");

            Assert.Null(nullItem);

            var foundItem = cache.GetOrCreate("any", factoryMock.Object, Expiration);

            factoryMock.Verify(factory => factory(), Times.Once);
            Assert.Same(item, foundItem);

            var cachedItem = cache.Get("any");

            Assert.Same(item, cachedItem);
        }