public void RemoveEntry() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); var key = new TaskCacheKey("a", "Foo"); var value = Task.FromResult("Bar"); cache.TryAdd(key, value); // act cache.TryRemove(key); // assert Task <string> retrieved = cache.GetOrAddTask(key, () => Task.FromResult("Baz")); Assert.NotSame(value, retrieved); }