public void CashedResultWeatherViewDataSourceGetWeatherDataProvidersCashTest() { var weatherDataProviders = new[] { new Mock<IDataProviderInfo>().Object }; var mockSource = new Mock<IWeatherViewDataSource>(); mockSource.Setup(t => t.GetWeatherDataProviders()).Returns(weatherDataProviders); TimeProvider.Current= new FakeTimeProvider(DateTime.Now); var provider = new CashedResultWeatherViewDataSource(mockSource.Object, 100); var providers1 = provider.GetWeatherDataProviders(); var providers2 = provider.GetWeatherDataProviders(); mockSource.Verify(t => t.GetWeatherDataProviders(), Times.Once); Assert.AreEqual(weatherDataProviders, providers1); Assert.AreEqual(weatherDataProviders, providers2); }
public void CashedResultWeatherViewDataSourceGetWeatherDataProvidersNotCashTest() { var weatherDataProviders = new[] { new Mock<IDataProviderInfo>().Object }; var mockSource = new Mock<IWeatherViewDataSource>(); mockSource.Setup(t => t.GetWeatherDataProviders()).Returns(weatherDataProviders); var timeProvider = new FakeTimeProvider(DateTime.Now); TimeProvider.Current = timeProvider; var provider = new CashedResultWeatherViewDataSource(mockSource.Object, 100); provider.GetWeatherDataProviders(); timeProvider.SetTime(timeProvider.UtcNow.AddSeconds(101)); provider.GetWeatherDataProviders(); mockSource.Verify(t => t.GetWeatherDataProviders(), Times.Exactly(2)); }
public void CashedResultWeatherViewDataSourceGetWeatherDataProvidersFirstTest() { var weatherDataProviders = new[] {new Mock<IDataProviderInfo>().Object}; var mockSource = new Mock<IWeatherViewDataSource>(); mockSource.Setup(t => t.GetWeatherDataProviders()).Returns(weatherDataProviders); var provider = new CashedResultWeatherViewDataSource(mockSource.Object, 1); provider.ClearCash(); var providers = provider.GetWeatherDataProviders(); mockSource.Verify(t=>t.GetWeatherDataProviders(),Times.Once); Assert.AreEqual(weatherDataProviders, providers); }