public async Task TestWeatherReaderServiceIsNull() { IWeatherReaderPort nullWeatherReaderPort = null; //Hexagon var result = Assert.Throws <ArgumentNullException>(() => CreateForecastPort(nullWeatherReaderPort)); Assert.True(result.Message.Contains("IWeatherReaderPort")); }
public async Task TestWeatherReaderServiceIsUnavailable() { //Driven port //Right side IWeatherReaderPort weatherReaderPort = WeatherReaderPortStub.WhichUnavailable(); //Hexagon IWeatherForecastPort sut = CreateForecastPort(weatherReaderPort); var result = await Assert.ThrowsAnyAsync <WeatherReaderServiceUnavailableException>(() => sut.GetTodayWeather()); Assert.Equal("سرویس در دسترس نمی باشد", result.Message); }
public WeatherForecastService(IWeatherReaderPort weatherForecastPort, ITempratureConverter tempretureConverter, ISmsSenderPort smsSenderPort) { //Fail fast //Guard Clouse if (weatherForecastPort == null) { throw new ArgumentNullException(@"IWeatherReaderPort"); } _weatherForecastPort = weatherForecastPort; _tempratureConverter = tempretureConverter; _smsSenderPort = smsSenderPort; }
//Factory Method private IWeatherForecastPort CreateForecastPort(IWeatherReaderPort weatherReaderPort, ISmsSenderPort smsSenderPort = null) { return(new WeatherForecastService(weatherReaderPort, CreateTempratureConverter(), smsSenderPort)); }