Esempio n. 1
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("Invalid path.");
                Environment.Exit(-1);
            }

            var fileResult = new FileReader(args[0]).ReadFile();

            if (fileResult.Success == false)
            {
                Environment.Exit(-1);
            }

            var granPrixResult = new GranPrixResultService(fileResult.Lines);

            var drivers = granPrixResult.DriversOrderedByTotalTime;

            Console.WriteLine("GRAN PRIX RESULT");
            Console.WriteLine("POSITION | Nº | DRIVER | LAPS | TOTAL TIME | GAP");

            foreach (var driver in drivers)
            {
                Console.WriteLine($"{driver.Position} | " +
                                  $" {driver.Number} |" +
                                  $" {driver.Name} |" +
                                  $" {driver.GetCompletedLaps()} |" +
                                  $" {driver.GetTotalTime().ToString(@"m\:ss\.fff")} |" +
                                  $" {driver.Gap.ToString(@"m\:ss\.fff")}");
            }

            Console.WriteLine("");

            drivers = granPrixResult.DriversOrderedByFastestLap;
            Console.WriteLine("FASTEST LAPS");
            Console.WriteLine("POSITION | Nº | DRIVER | FASTEST LAP");

            foreach (var driver in drivers)
            {
                Console.WriteLine($"{driver.Position} | " +
                                  $" {driver.Number} |" +
                                  $" {driver.Name} |" +
                                  $" {driver.GetFastestLap().ToString(@"m\:ss\.fff")}");
            }

            Console.WriteLine("");

            drivers = granPrixResult.DriversOrderedByAvarageSpeed;
            Console.WriteLine("AVARAGE SPEED");
            Console.WriteLine("POSITION | Nº | DRIVER | AVARAGE SPEED");

            foreach (var driver in drivers)
            {
                Console.WriteLine($"{driver.Position} | " +
                                  $" {driver.Number} |" +
                                  $" {driver.Name} |" +
                                  $" {driver.GetAvarageSpeed().ToString("0.##")}");
            }
        }
Esempio n. 2
0
        public void Gap()
        {
            var p2 = new GranPrixResultService(_lapEntries).DriversOrderedByTotalTime.Where(driver => driver.Position == 2).First();

            Assert.That(p2.Gap, Is.EqualTo(TimeSpan.FromSeconds(35)));
        }
Esempio n. 3
0
        public void NumberOfDrivers()
        {
            var driversCount = new GranPrixResultService(_lapEntries).DriversOrderedByTotalTime.Count();

            Assert.That(driversCount, Is.EqualTo(2));
        }
Esempio n. 4
0
        public void WinnerTotalTime()
        {
            var totalTime = new GranPrixResultService(_lapEntries).DriversOrderedByTotalTime.First().GetTotalTime();

            Assert.That(totalTime, Is.EqualTo(TimeSpan.FromSeconds(215)));
        }
Esempio n. 5
0
        public void WinnerCompletedLaps()
        {
            var laps = new GranPrixResultService(_lapEntries).DriversOrderedByTotalTime.First().GetCompletedLaps();

            Assert.That(laps, Is.EqualTo(3));
        }
Esempio n. 6
0
        public void TestFastestAvarageSpeed()
        {
            var speed = new GranPrixResultService(_lapEntries).DriversOrderedByAvarageSpeed.First().GetAvarageSpeed();

            Assert.That(speed, Is.EqualTo(54m));
        }
Esempio n. 7
0
        public void TestFastestLap()
        {
            var fastestLap = new GranPrixResultService(_lapEntries).DriversOrderedByFastestLap.First().GetFastestLap();

            Assert.That(fastestLap, Is.EqualTo(TimeSpan.FromSeconds(50)));
        }
Esempio n. 8
0
        public void TestWinner()
        {
            var p1 = new GranPrixResultService(_lapEntries).DriversOrderedByTotalTime.First();

            Assert.That(p1.Number, Is.EqualTo("02"));
        }