Esempio n. 1
0
        public void SetUpFixture()
        {
            _weatherDataRetriever = MockRepository.GenerateMock <IWeatherDataRetriever>();
            _weatherDataRetrieverToReturnEmpty = MockRepository.GenerateMock <IWeatherDataRetriever>();

            _darkSkyConfigurationManager = MockRepository.GenerateMock <IDarkSkyConfigurationManager>();
            _darkSkyConfigurationManager.Expect(configurationManager => configurationManager.GetConfigFromAppSettings(_configKeyName)).Return(_baseUrl);

            _darkSkyConfigurationManagerThatReturnsNull = MockRepository.GenerateMock <IDarkSkyConfigurationManager>();
            _darkSkyConfigurationManagerThatReturnsNull.Expect(configurationManager => configurationManager.GetConfigFromAppSettings(_configKeyName)).Return(null);

            _darkSkyConfigurationManagerThatReturnsWrongFormat = MockRepository.GenerateMock <IDarkSkyConfigurationManager>();
            _darkSkyConfigurationManagerThatReturnsWrongFormat.Expect(configurationManager => configurationManager.GetConfigFromAppSettings(_configKeyName)).Return("CLEARLY_NOT_AN_URL");

            _mockEmptyResponseTask = Task <string> .Factory.StartNew(() => null);

            _mockNormalDarkSkyResponseTask = Task <string> .Factory.StartNew(() => _exampleResponse);

            _weatherDataRetriever.Expect(retriever => retriever.FetchWeatherData(Arg <Uri> .Is.Anything)).Return(_mockNormalDarkSkyResponseTask);
            _weatherDataRetrieverToReturnEmpty.Expect(retriever => retriever.FetchWeatherData(Arg <Uri> .Is.Anything)).Return(_mockEmptyResponseTask);
        }
Esempio n. 2
0
 public DarkSkyService(IWeatherDataRetriever weatherDataRetriever, IDarkSkyConfigurationManager darkSkyConfigurationManager)
 {
     _weatherDataRetriever        = ArgumentValidation.ThrowIfNull(weatherDataRetriever, nameof(weatherDataRetriever));
     _darkSkyConfigurationManager = ArgumentValidation.ThrowIfNull(darkSkyConfigurationManager, nameof(darkSkyConfigurationManager));
     _darkSkyForecastBaseUrl      = new Uri(_darkSkyConfigurationManager.GetConfigFromAppSettings("darkSkyForecastBaseUrl"));
 }