public IPriceRange CalculatePriceRange(IEnumerable <Flight> collection)
        {
            var            listOfOneWayFlights           = collection.Where(x => !x.Inbound.HasValue);
            var            listOfTwoWayFlights           = collection.Where(x => x.Inbound.HasValue);
            List <decimal> listOfMinimumAndMaximumPrices = new List <decimal>();


            if (listOfOneWayFlights.Any())
            {
                listOfOneWayFlights = _dataSanitizer.SanitizeAndSortCollection(listOfOneWayFlights);
                decimal price1 = listOfOneWayFlights.First().Price;
                decimal price2 = listOfOneWayFlights.Last().Price;
                listOfMinimumAndMaximumPrices.Add(price1);
                listOfMinimumAndMaximumPrices.Add(price2);
            }

            if (listOfTwoWayFlights.Any())
            {
                listOfTwoWayFlights = _dataSanitizer.SanitizeAndSortCollection(listOfTwoWayFlights);
                decimal price3 = listOfTwoWayFlights.First().Price;
                decimal price4 = listOfTwoWayFlights.Last().Price;
                listOfMinimumAndMaximumPrices.Add(price3);
                listOfMinimumAndMaximumPrices.Add(price4);
            }

            var minPrice = Math.Round(listOfMinimumAndMaximumPrices.Min(), _decimalDelimeter);
            var maxPrice = Math.Round(listOfMinimumAndMaximumPrices.Max(), _decimalDelimeter);
            var result   = new FlightPriceRangeContract {
                MinimumPrice = minPrice, MaximumPrice = maxPrice
            };

            return(result);
        }
        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);
        }