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 void TestShowWeatherResultToConsoleAdapter()
        {
            //Hexagon
            var todayWeahterInFahrenheit = 68;
            var formatedWeatherStatus    = "دمای هوای امروز 20 درجه است";

            IWeatherForecastPort weatherReaderPort = CreateForecastPort(WeatherReaderPortStub.WhichReturn(todayWeahterInFahrenheit));

            IConsoleWriter consoleWriter = new MockConsoleWriter();

            ((MockConsoleWriter)consoleWriter).Setup(expectedMessage: formatedWeatherStatus);

            //Driver Side
            IConsoleAdapter sut = new ConsoleAdapter(consoleWriter, port: weatherReaderPort);

            sut.Run();

            //Assert
            ((MockConsoleWriter)consoleWriter).Verify();
        }
        public void TestSendWeatherStatusVisSms()
        {
            var todayWeatherInFahrenheit = 68;
            var formatedWeatherStatus    = "دمای هوای امروز 20 درجه است";

            var message = "1";
            var number  = "09123456789";

            MockSmsSenderPort mockSmsAdapter = new MockSmsSenderPort();

            mockSmsAdapter.Setup(expectedNumber: number, expectedMessage: formatedWeatherStatus);

            //hexagon
            IWeatherForecastPort weatherReaderPort = CreateForecastPort(WeatherReaderPortStub.WhichReturn(todayWeatherInFahrenheit), mockSmsAdapter);

            ISmsAdapter smsAdapter = new MockSmsAdapter(port: weatherReaderPort);

            smsAdapter.Run();

            smsAdapter.OnReceivingSms(@from: number, message: message);

            mockSmsAdapter.Verify();
        }
Ejemplo n.º 4
0
 public MockSmsAdapter(IWeatherForecastPort port)
 {
     _port = port;
 }
 public ConsoleAdapter(IConsoleWriter consoleWriter, IWeatherForecastPort port)
 {
     _consoleWriter = consoleWriter;
     _port          = port;
 }