Esempio n. 1
0
        public void CashedResultWeatherViewDataSourceCreateTest()
        {
            var mockSouce = new Mock <IWeatherViewDataSource>();
            var provider  = new CashedResultWeatherViewDataSource(mockSouce.Object, 1);

            Assert.IsNotNull(provider);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        public void CashedResultWeatherViewDataSourceGetWeatherInfoFirstTest()
        {
            const string testName          = "testName";
            var          resultWeatherInfo = new Mock <ICityWeatherInfo>();
            var          mockSource        = new Mock <IWeatherViewDataSource>();

            mockSource.Setup(t => t.GetWeatherInfo(It.IsAny <string>())).Returns(resultWeatherInfo.Object);

            var provider = new CashedResultWeatherViewDataSource(mockSource.Object, 1);

            provider.ClearCash();
            var weatherInfo = provider.GetWeatherInfo(testName);

            mockSource.Verify(t => t.GetWeatherInfo(It.Is <string>(k => k == testName)), Times.Once);
            Assert.AreEqual(resultWeatherInfo.Object, weatherInfo);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        public void CashedResultWeatherViewDataSourceGetWeatherInfoNotCashTest()
        {
            const string testName          = "testName";
            var          resultWeatherInfo = new Mock <ICityWeatherInfo>();
            var          mockSource        = new Mock <IWeatherViewDataSource>();

            mockSource.Setup(t => t.GetWeatherInfo(It.IsAny <string>())).Returns(resultWeatherInfo.Object);
            var timeProvider = new FakeTimeProvider(DateTime.Now);

            TimeProvider.Current = timeProvider;

            var provider = new CashedResultWeatherViewDataSource(mockSource.Object, 100);

            provider.ClearCash();
            provider.GetWeatherInfo(testName);
            timeProvider.SetTime(timeProvider.UtcNow.AddSeconds(101));
            provider.GetWeatherInfo(testName);

            mockSource.Verify(t => t.GetWeatherInfo(It.Is <string>(k => k == testName)), Times.Exactly(2));
        }