Example #1
0
        public async Task CanSetAndGetObjectFromCache()
        {
            await _staticCacheManager.SetAsync(new CacheKey("some_key_1"), 3);

            var rez = await _staticCacheManager.GetAsync(new CacheKey("some_key_1"), () => 0);

            rez.Should().Be(3);
        }
Example #2
0
 public void Can_set_and_get_object_from_cache_async()
 {
     _cacheManager.Set("some_key_1", 3);
     _cacheManager.GetAsync("some_key_1", () =>
     {
         return(Task.Delay(10000).ContinueWith(t => 3));
     }).Result.Should().Be(3);
 }
Example #3
0
        public async Task Set_and_get_example_data_by_passing_specified_key()
        {
            string             key                = "exampleKey01";
            byte               data               = 255;
            int                cacheTime          = int.MaxValue;
            MemoryCacheManager memoryCacheManager = new MemoryCacheManager(new MemoryCache(new MemoryCacheOptions {
            }));

            await memoryCacheManager.SetAsync(key, data, cacheTime);

            Assert.AreEqual(await memoryCacheManager.GetAsync <byte>(key), data);
        }
Example #4
0
        public async Task Set_and_get_example_data_by_passing_specified_key()
        {
            string key            = "exampleKey01";
            byte   data           = 255;
            int    cacheTime      = int.MaxValue;
            var    eventPublisher = new Mock <IMediator>();

            MemoryCacheManager memoryCacheManager = new MemoryCacheManager(new MemoryCache(new MemoryCacheOptions {
            }), eventPublisher.Object);

            await memoryCacheManager.SetAsync(key, data, cacheTime);

            Assert.AreEqual(await memoryCacheManager.GetAsync <byte>(key, async() => { return(await Task.FromResult(new byte())); }), data);
        }
Example #5
0
        public async Task RemoveByPatternTest()
        {
            /*
             * In this test I provide:
             *  1. pattern that consists of "key100\d" which matchs to: key1009, but not to key1010
             *  2. ICacheManager object with several keys
             *  3. List<string> with several keys
             */
            var eventPublisher = new Mock <IMediator>();

            ICacheManager icacheManager = new MemoryCacheManager(new MemoryCache(new MemoryCacheOptions {
            }), eventPublisher.Object);
            await icacheManager.SetAsync("key1001", 33, int.MaxValue);

            await icacheManager.SetAsync("key1202", 1244, int.MaxValue);

            await icacheManager.SetAsync("key1003", 512, int.MaxValue);

            await icacheManager.SetAsync("key1204", 55, int.MaxValue);

            await icacheManager.SetAsync("key1005", 32, int.MaxValue);

            string pattern = @"key100\d"; //"key100" and one digit

            List <string> keys = new List <string>();

            keys.Add("key1001");
            keys.Add("key1202");
            keys.Add("key1003");
            keys.Add("key1204");
            keys.Add("key1005");

            await icacheManager.RemoveByPrefix(pattern);

            Assert.IsNotNull(icacheManager.GetAsync <int>("key1202"));
            Assert.IsNotNull(icacheManager.GetAsync <int>("key1204"));
        }