public void ItemCanExpireAndBePurged() { var c = new RequestCache(TimeSpan.FromMilliseconds(10), TimeSpan.MinValue); lock (c) { var item = c.GetOrCreate<FooDTO>("foo"); item.Expiration = DateTimeOffset.UtcNow.AddSeconds(1); item.ItemState = CacheItemState.Complete; new AutoResetEvent(false).WaitOne(3000); c.Get<FooDTO>("foo"); Assert.Fail("Expected exception"); } }
public void ItemCanBeCached() { var c = new RequestCache(TimeSpan.FromMilliseconds(10), TimeSpan.MinValue); lock (c) { var item = c.GetOrCreate<FooDTO>("foo"); item.Expiration = DateTimeOffset.UtcNow.AddSeconds(2); item.ItemState = CacheItemState.Complete; new AutoResetEvent(false).WaitOne(1000); var actual = c.Get<FooDTO>("foo"); Assert.IsNotNull(actual); } }