public void WhenActivated_ItLoadsTheWeather()
        {
            gpsLocatorMock.Setup(service => service.GetCurrentLocationAsync()).ReturnsAsync(new GpsLocation(1, 2));
            gpsLocatorMock.Setup(service => service.GetCivilAddressAsync()).ReturnsAsync("Cluj Napoca");

            var randomWeather = WeatherResponseFactory.GenerateRandom(DateTime.Today, 5);

            weatherServiceMock.Setup(service => service.GetWeatherAsync(DateTime.Today, 5, 1, 2)).ReturnsAsync(randomWeather);

            (viewModel as IActivate).Activate();

            AssertDataIsBasedOnWeatherResponse(randomWeather);
        }
        public void OnNextDaysAndPreviousDays_DataIsUpdated()
        {
            gpsLocatorMock.Setup(service => service.GetCurrentLocationAsync()).ReturnsAsync(new GpsLocation(1, 2));
            gpsLocatorMock.Setup(service => service.GetCivilAddressAsync()).ReturnsAsync("Cluj Napoca");

            var todayRandomWeather = WeatherResponseFactory.GenerateRandom(DateTime.Today, 5);

            weatherServiceMock.Setup(service => service.GetWeatherAsync(DateTime.Today, 5, 1, 2)).ReturnsAsync(todayRandomWeather);

            var next5DaysRandomWeather = WeatherResponseFactory.GenerateRandom(DateTime.Today.AddDays(5), 5);

            weatherServiceMock.Setup(service => service.GetWeatherAsync(DateTime.Today.AddDays(5), 5, 1, 2)).ReturnsAsync(next5DaysRandomWeather);

            (viewModel as IActivate).Activate();
            viewModel.NextDays();

            AssertDataIsBasedOnWeatherResponse(next5DaysRandomWeather);

            viewModel.PreviousDays();
            AssertDataIsBasedOnWeatherResponse(todayRandomWeather);
        }