Пример #1
0
        public void ShouldCalculateForRaceRemaining_WhenPitWindowOpen()
        {
            var r = FuelStrategy.CalculateToFinish(
                fuelLevel: 5,
                remainingTime: 24.Minutes(),
                raceDuration: 60.Minutes(),
                averageFuelBurnPerLap: 1f,
                averageLapTime: 60.Seconds(),
                fuelTankCapacity: 30
                );

            Assert.That(r, Is.EqualTo(new RaceCompletionRequirements(
                                          numberOfPitStops: 1,
                                          totalFuelRequired: 25,
                                          totalFuelRequiredAtNextStop: 25,
                                          pitWindowOpened: true,
                                          lapsToPitWindow: 0,
                                          estimateLapsRemaining: 25))
                        );
        }
Пример #2
0
        public void ShouldCalculateForRaceRemaining_WhenTwoStopRequired()
        {
            var r = FuelStrategy.CalculateToFinish(
                fuelLevel: 15,
                remainingTime: 90.Minutes(),
                raceDuration: 120.Minutes(),
                averageFuelBurnPerLap: 1f,
                averageLapTime: 60.Seconds(),
                fuelTankCapacity: 30
                );

            Assert.That(r, Is.EqualTo(new RaceCompletionRequirements(
                                          numberOfPitStops: 3,
                                          totalFuelRequired: 90 - 15 + 5,
                                          totalFuelRequiredAtNextStop: 30,
                                          pitWindowOpened: false,
                                          lapsToPitWindow: 13,
                                          estimateLapsRemaining: 91))
                        );
        }