public void Size(int cacheSize, int expectedCacheSize) { // arrange var cache = new TaskCache(cacheSize); // act var result = cache.Size; // assert Assert.Equal(expectedCacheSize, result); }
public void ConstructorBNoException() { // arrange var cache = new TaskCache <string>(10, TimeSpan.Zero); // act Action verify = () => new CacheConstructor(cache); // assert Assert.Null(Record.Exception(verify)); }
public void ConstructorBCacheNull() { // arrange TaskCache <string> cache = null; // act Action verify = () => new CacheConstructor(cache); // assert Assert.Throws <ArgumentNullException>("cache", verify); }
public void ClearEmptyCache() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); // act cache.Clear(); // assert Assert.Equal(0, cache.Usage); }
public void ClearNoException() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); // act Action verify = () => cache.Clear(); // assert Assert.Null(Record.Exception(verify)); }
public void Size(int cacheSize, int expectedCacheSize) { // arrange TimeSpan slidingExpiration = TimeSpan.Zero; var cache = new TaskCache <string, string>(cacheSize, slidingExpiration); // act var result = cache.Size; // assert Assert.Equal(expectedCacheSize, result); }
public void TryAddValueNull() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); var key = new TaskCacheKey("a", "Foo"); // act void Verify() => cache.TryAdd(key, default(Task <string>) !); // assert Assert.Throws <ArgumentNullException>("value", Verify); }
public void GetOrAddTaskWhenNothingIsCached_IntegerKey() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); var key = new TaskCacheKey("a", 1); // act Task <string> resolved = cache.GetOrAddTask(key, () => Task.FromResult("Quox")); // assert Assert.Equal("Quox", resolved.Result); }
public void RemoveNoException() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); var key = "Foo"; // act Action verify = () => cache.Remove(key); // assert Assert.Null(Record.Exception(verify)); }
public void RemoveNoException() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); var key = "Foo"; // act bool Verify() => cache.TryRemove(new("a", key)); // assert Assert.False(Verify()); }
public void TryGetValueNullResult() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); var key = "Foo"; // act var result = cache.TryGetValue(key, out object value); // assert Assert.False(result); }
public void ClearNoException() { // arrange var cacheSize = 10; TimeSpan slidingExpiration = TimeSpan.Zero; var cache = new TaskCache <string, string>(cacheSize, slidingExpiration); // act Action verify = () => cache.Clear(); // assert Assert.Null(Record.Exception(verify)); }
public void TryAddValueNull() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); var key = "Foo"; string value = null; // act Action verify = () => cache.TryAdd(key, value); // assert Assert.Throws <ArgumentNullException>("value", verify); }
public void TryAddNoException() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); var key = "Foo"; var value = "Bar"; // act Action verify = () => cache.TryAdd(key, value); // assert Assert.Null(Record.Exception(verify)); }
public void ClearEmptyCache() { // arrange var cacheSize = 10; TimeSpan slidingExpiration = TimeSpan.Zero; var cache = new TaskCache <string, string>(cacheSize, slidingExpiration); // act cache.Clear(); // assert Assert.Equal(0, cache.Usage); }
public void TryGetValueNullResult() { // arrange var cacheSize = 10; TimeSpan slidingExpiration = TimeSpan.Zero; var cache = new TaskCache <string, string>(cacheSize, slidingExpiration); var key = "Foo"; // act var result = cache.TryGetValue(key, out Task <string> value); // assert Assert.False(result); }
public void RemoveKeyNull() { // arrange var cacheSize = 10; TimeSpan slidingExpiration = TimeSpan.Zero; var cache = new TaskCache <string, string>(cacheSize, slidingExpiration); string key = null; // act Action verify = () => cache.Remove(key); // assert Assert.Throws <ArgumentNullException>("key", verify); }
public void ClearAllEntries() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); cache.TryAdd("Foo", Task.FromResult("Bar")); cache.TryAdd("Bar", Task.FromResult("Baz")); // act cache.Clear(); // assert Assert.Equal(0, cache.Usage); }
public void RemoveNoException() { // arrange var cacheSize = 10; TimeSpan slidingExpiration = TimeSpan.Zero; var cache = new TaskCache <string>(cacheSize, slidingExpiration); var key = "Foo"; // act Action verify = () => cache.Remove(key); // assert Assert.Null(Record.Exception(verify)); }
public void TryAddKeyNull() { // arrange var cacheSize = 10; TimeSpan slidingExpiration = TimeSpan.Zero; var cache = new TaskCache <string, string>(cacheSize, slidingExpiration); string key = null; var value = Task.FromResult("Foo"); // act Action verify = () => cache.TryAdd(key, value); // assert Assert.Throws <ArgumentNullException>("key", verify); }
public void TryAddValueNull() { // arrange var cacheSize = 10; TimeSpan slidingExpiration = TimeSpan.Zero; var cache = new TaskCache <string, string>(cacheSize, slidingExpiration); var key = "Foo"; Task <string> value = null; // act Action verify = () => cache.TryAdd(key, value); // assert Assert.Throws <ArgumentNullException>("value", verify); }
public void TryAddNoException() { // arrange var cacheSize = 10; TimeSpan slidingExpiration = TimeSpan.Zero; var cache = new TaskCache <string, string>(cacheSize, slidingExpiration); var key = "Foo"; var value = Task.FromResult("Bar"); // act Action verify = () => cache.TryAdd(key, value); // assert Assert.Null(Record.Exception(verify)); }
public void ClearAllEntries() { // arrange var cacheSize = 10; TimeSpan slidingExpiration = TimeSpan.Zero; var cache = new TaskCache <string, string>(cacheSize, slidingExpiration); cache.TryAdd("Foo", Task.FromResult("Bar")); cache.TryAdd("Bar", Task.FromResult("Baz")); // act cache.Clear(); // assert Assert.Equal(0, cache.Usage); }
public void Usage(string[] values, int expectedUsage) { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); foreach (var value in values) { cache.TryAdd($"Key:{value}", value); } // act var result = cache.Usage; // assert Assert.Equal(expectedUsage, result); }
public void TryGetValueResultByInteger() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); var key = 1; var expected = "Bar"; cache.TryAdd(key, expected); // act var result = cache.TryGetValue(key, out object actual); // assert Assert.True(result); Assert.Equal(expected, (string)actual); }
public void VerifyExpirationTrue() { // arrange var cacheSize = 10; var slidingExpiration = TimeSpan.FromMilliseconds(500); var cache = new TaskCache <string, string>(cacheSize, slidingExpiration); var key = "Foo"; cache.TryAdd(key, Task.FromResult("Bar")); // act var exists = cache.TryGetValue(key, out Task <string> actual); // assert Assert.True(exists); }
public void TryAddNewCacheEntryWithFactory() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); var key = new TaskCacheKey("a", "Foo"); var expected = Task.FromResult("Bar"); // act var added = cache.TryAdd(key, () => expected); // assert Task <string> resolved = cache.GetOrAddTask(key, () => Task.FromResult("Baz")); Assert.True(added); Assert.Same(expected, resolved); }
public void TryAddNewCacheEntry() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); var key = "Foo"; var expected = "Bar"; // act var added = cache.TryAdd(key, expected); // assert var exists = cache.TryGetValue(key, out object actual); Assert.True(added); Assert.True(exists); Assert.Equal(expected, (string)actual); }
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); }
public void RemoveEntry() { // arrange var cacheSize = 10; var cache = new TaskCache(cacheSize); var key = "Foo"; cache.TryAdd(key, "Bar"); // act cache.Remove(key); // assert var exists = cache.TryGetValue(key, out object actual); Assert.False(exists); Assert.Null(actual); }