コード例 #1
0
        public async Task GetTranslations_ShoulReturnTranslations_WhenCacheIsNotExpired()
        {
            // Arrange
            var service = new InMemoryCachingService(new DateTimeService(), GetSettings(5));

            await service.StoreTranslationsAsync(TestData.Language_DE, TestData.Translations_De);

            // Act
            var actual = await service.GetTranslations(TestData.Language_DE, false);

            // Assert
            actual.Result.Should().BeEquivalentTo(TestData.Translations_De);
        }
コード例 #2
0
        public async Task GetTranslations_ShoulClearCache_WhenExpired()
        {
            // Arrange
            var timeService = new Mock <IDateTimeService>();
            var service     = new InMemoryCachingService(timeService.Object, GetSettings(2));
            await service.StoreTranslationsAsync(TestData.Language_DE, TestData.Translations_De);

            // Act
            timeService.Setup(t => t.GetCurrentDateTime()).Returns(DateTime.Now.AddSeconds(7));
            var actual = await service.GetTranslations(TestData.Language_DE, false);

            // Assert
            actual.Result.Should().BeEquivalentTo(TestData.EmptyTranslations);
        }
コード例 #3
0
 public InMemoryCachingServiceTests()
 {
     CachingService = new InMemoryCachingService(
         TimeSpan.FromSeconds(1),
         TimeSpan.FromSeconds(ExpirationInSeconds));
 }