Example #1
0
        public void DefaultWeatherViewDataSourceGetWeatherDataProvidersTest()
        {
            var providerInfo1 = new Mock <IDataProviderInfo>();
            var providerInfo2 = new Mock <IDataProviderInfo>();
            var providerInfo3 = new Mock <IDataProviderInfo>();

            var provider1 = new Mock <IWeatherDataProvider>();

            provider1.SetupGet(t => t.Info).Returns(providerInfo1.Object);

            var provider2 = new Mock <IWeatherDataProvider>();

            provider2.SetupGet(t => t.Info).Returns(providerInfo2.Object);

            var provider3 = new Mock <IWeatherDataProvider>();

            provider3.SetupGet(t => t.Info).Returns(providerInfo3.Object);

            var providerGetter = new Mock <IProviderGetter>();

            providerGetter.Setup(t => t.GetWeatherDataProviders())
            .Returns(new[] { provider1.Object, provider2.Object, provider3.Object });

            var dataSource   = new DefaultWeatherViewDataSource(providerGetter.Object);
            var providerInfo = dataSource.GetWeatherDataProviders();

            providerGetter.Verify(t => t.GetWeatherDataProviders(), Times.Once);
            Assert.AreEqual(3, providerInfo.Count());

            Assert.AreEqual(providerInfo1.Object, providerInfo[0]);
            Assert.AreEqual(providerInfo2.Object, providerInfo[1]);
            Assert.AreEqual(providerInfo3.Object, providerInfo[2]);
        }