public void GetWeatherDataTest() { try { Location location = new Location("London"); ApixuDataService wd = ApixuDataService.GetInstance(); WeatherData actual = wd.GetWeatherData(location); Assert.AreEqual("London", actual.Location.City); } catch (WeatherDataServiceException) { Assert.Fail(); //if an exception is caught, the test is fail. } }
//To add more weather web services add more consts here and expand the switch case. /// <summary> /// Checks what weather REStful web service the user sent and returns the requested service. /// </summary> /// <param name="weatherDataService"></param> /// <returns>An object represents a weather REStful web service</returns> public static IWeatherDataService GetWeatherDataService(int weatherDataService) { switch (weatherDataService) { case 1: return(OpenWeatherMapDataService.GetInstance()); case 2: return(ApixuDataService.GetInstance()); /* * case 3: * return another WeatherService.GetInstance(); */ default: throw new WeatherDataServiceException("You should send one of the constants that" + " defined in WeatherDataServiceFactory"); } }