Ejemplo n.º 1
0
        public async Task CalculateDistanceAsync_Success_Test([Frozen] Mock <IAirportInformationProviderService> airportInformationProviderService,
                                                              [Frozen] Mock <IGeoCalculatorService> geoCalculatorService,
                                                              DistanceCalculatorService service,
                                                              string departureIATACode,
                                                              string destinationIATACode,
                                                              AirportInformation departureAirportInformation,
                                                              AirportInformation destinationAirportInformation,
                                                              double distance)
        {
            // Arrange
            airportInformationProviderService.Setup(x => x.GetInformationAsync(departureIATACode, CancellationToken.None))
            .ReturnsAsync(departureAirportInformation);
            airportInformationProviderService.Setup(x => x.GetInformationAsync(destinationIATACode, CancellationToken.None))
            .ReturnsAsync(destinationAirportInformation);
            geoCalculatorService.Setup(x =>
                                       x.CalculateDistance(departureAirportInformation.Location, destinationAirportInformation.Location))
            .Returns(distance);

            // Act
            var result =
                await service.CalculateDistanceAsync(departureIATACode, destinationIATACode, CancellationToken.None);

            // Assert
            result.Should().NotBeNull();
            result.Miles.Should().Be(distance);

            airportInformationProviderService.VerifyAll();
            geoCalculatorService.VerifyAll();
        }
Ejemplo n.º 2
0
        public async Task CalculateDistanceAsync_DepartureEqualDestination_Test(DistanceCalculatorService service,
                                                                                string IATACode
                                                                                )
        {
            // Act
            var result = await service.CalculateDistanceAsync(IATACode, IATACode, CancellationToken.None);

            // Assert
            result.Should().NotBeNull();
            result.Miles.Should().Be(0);
        }
Ejemplo n.º 3
0
        public async Task CalculateDistanceAsync_DepartureAirportNotFound_Test([Frozen] Mock <IAirportInformationProviderService> airportInformationProviderService,
                                                                               DistanceCalculatorService service,
                                                                               string departureIATACode,
                                                                               string destinationIATACode)
        {
            // Arrange
            airportInformationProviderService.Setup(x => x.GetInformationAsync(departureIATACode, CancellationToken.None))
            .ReturnsAsync((AirportInformation?)null);
            airportInformationProviderService.Setup(x => x.GetInformationAsync(destinationIATACode, CancellationToken.None))
            .ReturnsAsync((AirportInformation?)null);

            // Act && Assert
            Assert.CatchAsync <AirportNotFoundException>(() => service.CalculateDistanceAsync(departureIATACode, destinationIATACode, CancellationToken.None));

            airportInformationProviderService.VerifyAll();
        }