Example #1
0
        public void GetOrCreateAndGet_CacheItemIsAdded_CacheReturnsItem()
        {
            //Arrange
            var testee = _container.Resolve <IMemoryCache <CacheItem1> >();

            _cacheSettings.LifeTimeInSeconds = 10;
            var cacheItem = new CacheItem1();

            //Act
            var result = testee.GetOrCreateAndGet("key1", s => cacheItem);

            //Assert
            result.Should().Be(cacheItem);
        }
Example #2
0
        public void Get_CacheItemIsAdded_CacheReturnsItem()
        {
            //Arrange
            var testee = _container.Resolve <IMemoryCache <CacheItem1> >();

            _cacheSettings.LifeTimeInSeconds = 10;
            var cacheItem = new CacheItem1();

            testee.Add("key1", cacheItem);

            //Act
            var result = testee.Get("key1");

            //Assert
            result.IsSome.Should().BeTrue();
            result.Value.Should().Be(cacheItem);
        }
Example #3
0
        public void Get_CacheItemIsAddedInDifferentInstancesForTheSameKey_CacheReturnsLatestAddedItem()
        {
            //Arrange
            _cacheSettings.LifeTimeInSeconds = 10;
            var testee1    = _container.Resolve <IMemoryCache <CacheItem1> >();
            var cacheItem1 = new CacheItem1();

            testee1.Add("key1", cacheItem1);

            var cacheItem2 = new CacheItem1();

            testee1.Add("key1", cacheItem2);

            //Act
            var resultCacheItem1 = testee1.Get("key1");

            //Assert
            resultCacheItem1.IsSome.Should().BeTrue();

            resultCacheItem1.Value.Should().NotBe(cacheItem1);
            resultCacheItem1.Value.Should().Be(cacheItem2);
        }
Example #4
0
        public void Get_TheSameCacheItemIsAddedTwiceForDifferentKey_CacheReturnsItem()
        {
            //Arrange
            var testee = _container.Resolve <IMemoryCache <CacheItem1> >();

            _cacheSettings.LifeTimeInSeconds = 10;
            var cacheItem = new CacheItem1();

            testee.Add("key1", cacheItem);
            testee.Add("key2", cacheItem);

            //Act
            var result1 = testee.Get("key1");
            var result2 = testee.Get("key2");

            //Assert
            result1.IsSome.Should().BeTrue();
            result1.Value.Should().Be(cacheItem);
            result2.IsSome.Should().BeTrue();
            result2.Value.Should().Be(cacheItem);
            result1.Should().Be(result2);
        }
Example #5
0
        public void GetOrCreateAndGet_CacheItemIsExpired_CacheReturnsItem()
        {
            //Arrange
            var testee = _container.Resolve <IMemoryCache <CacheItem1> >();

            _cacheSettings.LifeTimeInSeconds = 0;
            var cacheItem = new CacheItem1();

            testee.Add("key1", cacheItem);
            var isCreatedByFactoryMethod = false;

            //Act
            var result = testee.GetOrCreateAndGet("key1",
                                                  s =>
            {
                isCreatedByFactoryMethod = true;
                return(new CacheItem1());
            });

            //Assert
            result.Should().NotBe(cacheItem);
            isCreatedByFactoryMethod.Should().BeTrue();
        }