Esempio n. 1
0
        public void ShouldCalculateTheNumberOfStopsRequired(int distance, int mgltDailyDistance, int daysOfSupplyDuration, int?expectedResult)
        {
            SupplyStopCalculator calculator = new SupplyStopCalculator();
            int?result = calculator.CalculateNumberOfStops(distance, mgltDailyDistance, daysOfSupplyDuration);

            result.Should().Be(expectedResult);
        }
Esempio n. 2
0
        /// <summary>
        /// Process for all Starships the total amount of resupply stops needed for the provided distance
        /// </summary>
        /// <param name="distance"></param>
        /// <returns></returns>
        public async Task <IEnumerable <StarshipResupplyStopsResponse> > ProcessAllStarshipsTotalResupplyStopsAsync(int distance)
        {
            var starships = await this.GetAsync();

            var response = new List <StarshipResupplyStopsResponse>();

            starships.ToList().ForEach(starship =>
            {
                var consumable    = Consumable.Parse(starship.Consumables);
                var numberOfStops = _supplyStopCalculator.CalculateNumberOfStops(distance, starship.GetDailyMGLT(), consumable.ConvertTimeUnitToDays());

                response.Add(new StarshipResupplyStopsResponse()
                {
                    Starship      = starship,
                    Distance      = distance,
                    NumberOfStops = numberOfStops
                });
            });

            return(response);
        }