public void GetBestLapByFirstPilot()
        {
            //Arrange
            ComputeRankingKartRaceService computeService = new ComputeRankingKartRaceService();

            List <KartLap> kartLaps = new List <KartLap>();

            kartLaps.Add(new KartLap()
            {
                PilotCode       = "001",
                PilotName       = "Pilot 1",
                LapNumber       = 1,
                Time            = new TimeSpan(0, 1, 1, 1, 1234),
                LapTime         = new TimeSpan(0, 1, 1, 1, 1234),
                LapAverageSpeed = 10
            });

            kartLaps.Add(new KartLap()
            {
                PilotCode       = "002",
                PilotName       = "Pilot 2",
                LapNumber       = 1,
                Time            = new TimeSpan(0, 1, 1, 1, 1222),
                LapTime         = new TimeSpan(0, 1, 1, 1, 1222),
                LapAverageSpeed = 10
            });

            kartLaps.Add(new KartLap()
            {
                PilotCode       = "001",
                PilotName       = "Pilot 1",
                LapNumber       = 2,
                Time            = new TimeSpan(0, 1, 1, 1, 1220),
                LapTime         = new TimeSpan(0, 1, 1, 1, 1220),
                LapAverageSpeed = 10
            });

            kartLaps.Add(new KartLap()
            {
                PilotCode       = "002",
                PilotName       = "Pilot 2",
                LapNumber       = 2,
                Time            = new TimeSpan(0, 1, 1, 1, 1233),
                LapTime         = new TimeSpan(0, 1, 1, 1, 1233),
                LapAverageSpeed = 10
            });

            //Act
            computeService.ComputeRanking(kartLaps);
            KartRaceResult result = computeService.GetBestLap();

            //Assert
            Assert.AreEqual(result.PilotCode, "001");
            Assert.AreEqual(result.PilotName, "Pilot 1");
            Assert.AreEqual(result.BestLapNumber, 2);
        }
Example #2
0
        public void PrintBestLapInfo(KartRaceResult bestLap)
        {
            if (bestLap == null || bestLap.Lap == 0)
            {
                Console.WriteLine("\nThere is not best lap information to show");
                return;
            }

            Console.WriteLine($"\nThe " +
                              $"{bestLap.BestLapNumber} lap of " +
                              $"{bestLap.PilotName} was the fastest lap with " +
                              $"{bestLap.BestLapTime} ");
        }