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