Esempio n. 1
0
        public async Task GetCategoriesPreviewRepositoryHitCountTest()
        {
            // Arrange
            var hitCount = 0;

            _repositoryMock.GetCategoriesPreviewFunc = () =>
            {
                hitCount++;

                return(new List <CategoryPreviewContract>
                {
                    new CategoryPreviewContract()
                });
            };

            // Act
            for (var i = 0; i < 5; i++)
            {
                await _cachedRepository.GetCategoriesPreview(10);
            }

            // Verify that we hit the repository only once.
            Assert.AreEqual(1, hitCount);

            await Task.Delay(_memoryCacheService.ExpirationTimeSpan + TimeSpan.FromSeconds(1));

            // Act
            for (var i = 0; i < 5; i++)
            {
                await _cachedRepository.GetCategoriesPreview(10);
            }

            // Verify that we hit the repository twice.
            Assert.AreEqual(2, hitCount);
        }