Esempio n. 1
0
        public void WhenSetOrUpdateWithoutCreateThenGetWithoutCreateOrNullKeyIsCaseSensitive()
        {
            // arrange
            var expectedResult1 = "expectedResult1";
            var expectedResult2 = "expectedResult2";
            var cacheKey1       = "key";
            var cacheKey2       = "KEY";

            using (var cache = new SaintModeCache())
            {
                cache.SetOrUpdateWithoutCreate(cacheKey1, expectedResult1);
                cache.SetOrUpdateWithoutCreate(cacheKey2, expectedResult2);

                // act
                var result1 = cache.GetWithoutCreateOrNull(cacheKey1);
                var result2 = cache.GetWithoutCreateOrNull(cacheKey2);

                // assert
                Assert.That(result1, Is.EqualTo(expectedResult1));
                Assert.That(result2, Is.EqualTo(expectedResult2));
            }
        }
Esempio n. 2
0
        public void WhenEmptyCacheThenGetWithoutCreateOrNullReturnsNull()
        {
            // arrange
            var cacheKey = "key";

            using (var cache = new SaintModeCache())
            {
                // act
                var result = cache.GetWithoutCreateOrNull(cacheKey);

                // assert
                Assert.That(result, Is.Null);
            }
        }
Esempio n. 3
0
        public void WhenActiveCacheItemThenGetWithoutCreateOrNullReturnsItem()
        {
            // arrange
            var expectedResult = "expectedResult";
            var cacheKey       = "key";

            using (var cache = new SaintModeCache())
            {
                cache.GetOrCreate(cacheKey, (key, cancel) => expectedResult, ObjectCache.InfiniteAbsoluteExpiration);

                // act
                var result = cache.GetWithoutCreateOrNull(cacheKey);

                // assert
                Assert.That(result, Is.EqualTo(expectedResult));
            }
        }
Esempio n. 4
0
        public void WhenActiveCacheItemThenGetWithoutCreateOrNullKeyIsCaseSensitive()
        {
            // arrange
            var expectedResult1 = "expectedResult1";
            var cacheKey1       = "key";
            var cacheKey2       = "KEY";

            using (var cache = new SaintModeCache())
            {
                cache.SetOrUpdateWithoutCreate(cacheKey1, expectedResult1, ObjectCache.InfiniteAbsoluteExpiration);

                // act
                var result = cache.GetWithoutCreateOrNull(cacheKey2);

                // assert
                Assert.That(result, Is.Null);
            }
        }
Esempio n. 5
0
        public void WhenActiveCacheItemThenGetWithoutCreateOrNullUpdatesItem()
        {
            // arrange
            var expectedResult   = "expectedResult";
            var unexpectedResult = "unexpectedResult";
            var cacheKey         = "key";

            using (var cache = new SaintModeCache())
            {
                var policy = new CacheItemPolicy {
                    AbsoluteExpiration = DateTime.UtcNow.AddMilliseconds(10)
                };
                cache.GetOrCreate(cacheKey, (key, cancel) => unexpectedResult, ObjectCache.InfiniteAbsoluteExpiration);
                cache.SetOrUpdateWithoutCreate(cacheKey, expectedResult, policy);
                Thread.Sleep(20);

                // act
                var result = cache.GetWithoutCreateOrNull(cacheKey);

                // assert
                Assert.That(result, Is.EqualTo(expectedResult));
            }
        }