public void Creates_Instance_WithOptions_Argument() { // Arrange, Act var result = MemoryCacheHandler.New(new Mock <IMemoryCache>().Object, new MemoryCacheEntryOptions()); // Assert Assert.NotNull(result); }
public void Creates_Instance() { // Arrange, Act var result = MemoryCacheHandler.New(new Mock <IMemoryCache>().Object); // Assert Assert.NotNull(result); }
internal override Action <IServiceCollection> GetBuild() { return(services => { services.AddMemoryCache(); services.AddSingleton(provider => MemoryCacheHandler.New(provider.GetService <IMemoryCache>(), Options)); Descriptors.ForEach(services.TryAdd); }); }
public async Task Instance_Created_Through_MemoryCacher_New_Runs_With_Provided_Cache() { // Arrange var cacher = MemoryCacheHandler.New(_memoryCache); // Act var result = await cacher.GetOrFetchAsync("name", _ => Task.FromResult("sven")); // Assert Assert.Equal("sven", result); Assert.Equal("sven", _memoryCache.Get <string>("name")); }
public SimpleCacheLoad() { _cache = new MemoryCache(new MemoryCacheOptions()); _cacher = MemoryCacheHandler.New(_cache); var services = new ServiceCollection(); services.AddCached(config => { config.AddMemoryCaching(options => { options.AddFunction <string, string>( arg => arg, (provider, key, arg) => Task.FromResult(DateTimeOffset.UtcNow.ToString())); }); }); _serviceProvider = services.BuildServiceProvider(); _cached = _serviceProvider.GetService <ICached <string, string> >(); }
private static async Task Main(string[] args) { using var cache = MemoryCacheHandler.New(); while (true) { Console.WriteLine("Press any key, used as cache key, to get data from cache (or 'q' to quit)"); ConsoleKeyInfo key = Console.ReadKey(); if (key.Key == ConsoleKey.Q) { break; } var result = await cache.GetOrFetchAsync( key.Key.ToString(), provider => Task.FromResult(DateTimeOffset.UtcNow.ToString())); Console.WriteLine($"Value is: {result}"); } }
public void If_MemoryCache_Argument_Is_Null() { Assert.Throws <ArgumentNullException>(() => MemoryCacheHandler.New(null, new MemoryCacheEntryOptions())); }