public void RaiseExpiredCallbackTest() { string key = "key"; object value = "value"; TimeSpan expiration = TimeSpan.FromSeconds(2); bool expireCalled = false; var cachePolicy = new CachePolicy { SlidingExpiration = expiration, ExpiredCallback = e => { expireCalled = true; } }; var cacheItem = new CacheItem(key, value, cachePolicy); bool hasExpiration = cacheItem.CanExpire(); Assert.AreEqual(true, hasExpiration); bool isExpired = cacheItem.IsExpired(); Assert.AreEqual(false, isExpired); Thread.Sleep(expiration); isExpired = cacheItem.IsExpired(); Assert.AreEqual(true, isExpired); cacheItem.RaiseExpiredCallback(); Thread.Sleep(expiration); Assert.AreEqual(true, expireCalled); }