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.##")}"); } }
public void Gap() { var p2 = new GranPrixResultService(_lapEntries).DriversOrderedByTotalTime.Where(driver => driver.Position == 2).First(); Assert.That(p2.Gap, Is.EqualTo(TimeSpan.FromSeconds(35))); }
public void NumberOfDrivers() { var driversCount = new GranPrixResultService(_lapEntries).DriversOrderedByTotalTime.Count(); Assert.That(driversCount, Is.EqualTo(2)); }
public void WinnerTotalTime() { var totalTime = new GranPrixResultService(_lapEntries).DriversOrderedByTotalTime.First().GetTotalTime(); Assert.That(totalTime, Is.EqualTo(TimeSpan.FromSeconds(215))); }
public void WinnerCompletedLaps() { var laps = new GranPrixResultService(_lapEntries).DriversOrderedByTotalTime.First().GetCompletedLaps(); Assert.That(laps, Is.EqualTo(3)); }
public void TestFastestAvarageSpeed() { var speed = new GranPrixResultService(_lapEntries).DriversOrderedByAvarageSpeed.First().GetAvarageSpeed(); Assert.That(speed, Is.EqualTo(54m)); }
public void TestFastestLap() { var fastestLap = new GranPrixResultService(_lapEntries).DriversOrderedByFastestLap.First().GetFastestLap(); Assert.That(fastestLap, Is.EqualTo(TimeSpan.FromSeconds(50))); }
public void TestWinner() { var p1 = new GranPrixResultService(_lapEntries).DriversOrderedByTotalTime.First(); Assert.That(p1.Number, Is.EqualTo("02")); }