Exemple #1
0
        public void AirQualityRecorderGetsAndAdds()
        {
            // Arrange
            var log = Substitute.For <ILog>();
            var airQualityServiceClient = Substitute.For <IAirQualityServiceClient>();
            var forecastRepository      = Substitute.For <IForecastRepository>();
            var forecast = new Forecast();

            airQualityServiceClient.Get().Returns(forecast);

            // Act
            var airQualityRecorder = new AirQualityRecorder(log, airQualityServiceClient, forecastRepository);

            airQualityRecorder.Record();

            // Assert
            forecastRepository.Received(1).Add(forecast);
        }
Exemple #2
0
        public void AirQualityRecorderLogsErrors()
        {
            // Arrange
            var log = Substitute.For <ILog>();
            var airQualityServiceClient = Substitute.For <IAirQualityServiceClient>();
            var forecastRepository      = Substitute.For <IForecastRepository>();
            var forecast = new Forecast();

            airQualityServiceClient.Get().Returns(ex => throw new Exception("Error"));

            // Act
            var airQualityRecorder = new AirQualityRecorder(log, airQualityServiceClient, forecastRepository);

            airQualityRecorder.Record();

            // Assert
            forecastRepository.Received(0).Add(forecast);
            log.Received(1).Log(LogLevel.Error, "Error");
        }