public void SanitizeRemovesOutliers_2() { var input = LoadTestWithMinimumOutlier(); var dataSanitizer = new FlightDataSanitizer(); var result = dataSanitizer.SanitizeAndSortCollection(input); Assert.AreEqual(result.Count(), 5); }
public void CalculatorReturnsConvertedResult() { var input = new FlightPriceRangeContract { MinimumPrice = 1m, MaximumPrice = 2.1m }; var dataSanitizer = new FlightDataSanitizer(); var dataCalculator = new FlightDataCalculator(dataSanitizer); var result = dataCalculator.ConvertPriceRange(input, 1.2345m); Assert.AreEqual(1.23m, result.MinimumPrice); Assert.AreEqual(2.59m, result.MaximumPrice); }
public void CalculatorReturnsResult_WithOneWayFlights_2() { var input = LoadTestDataSet_WithOneWayFlights_1(); var dataSanitizer = new FlightDataSanitizer(); var dataCalculator = new FlightDataCalculator(dataSanitizer); var result = dataCalculator.CalculatePriceRange(input); Assert.AreEqual(10.26m, result.MinimumPrice); Assert.AreEqual(82.92m, result.MaximumPrice); }
public void IntegrationTestForLONtoBERFlights() { var _flightPricesRepository = new FlightCsvRepository("prices", TestSetup.GiveMeALocalDummyPathMapper("prices")); var _currencyRateRepository = new CurrencyRateCsvRepository("currencies", "EUR", TestSetup.GiveMeALocalDummyPathMapper("currencies")); var _dataSanitizer = new FlightDataSanitizer(); var _priceRangeCalculator = new FlightDataCalculator(_dataSanitizer); var flightsAndPrices = _flightPricesRepository.GetFlightsFromOriginToDestination("LON", "BER"); var priceRange = _priceRangeCalculator.CalculatePriceRange(flightsAndPrices); Assert.IsFalse(priceRange.MaximumPrice > 200); Assert.IsFalse(priceRange.MinimumPrice < 20); }
public void SanitizeReturnsFlightsSorted() { var input = new Flight[] { new Flight { Price = 1 }, new Flight { Price = 1 }, new Flight { Price = 0 }, //outlier for a small dataset new Flight { Price = 1.54m }, new Flight { Price = 1.34m }, new Flight { Price = 1.34m }, new Flight { Price = 1.24m }, new Flight { Price = 0.97m }, new Flight { Price = 1.01m } }; var dataSanitizer = new FlightDataSanitizer(); var result = dataSanitizer.SanitizeAndSortCollection(input); Assert.AreEqual(0.97m, result.First().Price); Assert.AreEqual(1.34m, result.Last().Price); }
public void SanitizeReturnsFlightsWithoutTheOrNegativePrices() { var input = new Flight[] { new Flight { Price = 1 }, new Flight { Price = 1 }, new Flight { Price = 0 }, new Flight { Price = -1 } }; var dataSanitizer = new FlightDataSanitizer(); var result = dataSanitizer.SanitizeAndSortCollection(input); Assert.AreEqual(result.ToList().Count, 2); }