public void CalcularTempoTotalDeProva_DeveRetornarASomatoriaDeTodasAsVoltasDoPiloto() { var piloto = new Piloto(); var volta1 = new Volta(); volta1.TempoDaVolta = TimeSpan.Parse("00:1:02.852"); var volta2 = new Volta(); volta2.TempoDaVolta = TimeSpan.Parse("00:1:03.170"); var volta3 = new Volta(); volta3.TempoDaVolta = TimeSpan.Parse("00:1:02.769"); var volta4 = new Volta(); volta4.TempoDaVolta = TimeSpan.Parse("00:1:02.787"); piloto.AdicionarVolta(volta1); piloto.AdicionarVolta(volta2); piloto.AdicionarVolta(volta3); piloto.AdicionarVolta(volta4); var totalTempo = piloto.CalcularTempoTotalDeProva(); TimeSpan expected = TimeSpan.Parse("00:04:11.5780000"); Assert.AreEqual(expected, totalTempo); }
public void CalcularVelocidadeMedia_DeveRetornarAVelocidadeMediaDuranteACorridaDoPiloto() { var piloto = new Piloto(); var volta1 = new Volta(); volta1.VelocidadeMediaDaVolta = 45.31; var volta2 = new Volta(); volta2.VelocidadeMediaDaVolta = 43.1; var volta3 = new Volta(); volta3.VelocidadeMediaDaVolta = 40; var volta4 = new Volta(); volta4.VelocidadeMediaDaVolta = 44.89; piloto.AdicionarVolta(volta1); piloto.AdicionarVolta(volta2); piloto.AdicionarVolta(volta3); piloto.AdicionarVolta(volta4); double expected = 43.325; double current = piloto.CalcularVelocidadeMedia(); Assert.AreEqual(expected, current, 0.0001); }
public void GetTotalVoltasCompletadas_DeveRetornarAsVoltasCompletadasDoPiloto() { var piloto = new Piloto(); var volta1 = new Volta(); volta1.TempoDaVolta = TimeSpan.Parse("00:1:02.852"); var volta2 = new Volta(); volta2.TempoDaVolta = TimeSpan.Parse("00:1:03.170"); piloto.AdicionarVolta(volta1); piloto.AdicionarVolta(volta2); int expected = 2; int current = piloto.GetTotalVoltasCompletadas(); Assert.AreEqual(expected, current); }
public CorridaKart LerArquivoDeLog() { try { var arquivo = new StreamReader(Nome); string linha = null; var corrida = new CorridaKart(); while ((linha = arquivo.ReadLine()) != null) { MatchCollection matches = Regex.Matches(linha, PadraoRegex); foreach (Match match in matches) { Piloto piloto = new Piloto(); Volta volta = new Volta(); //Adicionando informações do piloto. piloto.Id = Convert.ToInt32(match.Groups[2].Value); piloto.Nome = match.Groups[3].Value; //Adicionando informações da volta. volta.HoraVolta = TimeSpan.Parse(match.Groups[1].Value); volta.NumeroDaVolta = Convert.ToInt32(match.Groups[4].Value); volta.TempoDaVolta = TimeSpan.Parse($"00:{match.Groups[5].Value}"); volta.VelocidadeMediaDaVolta = Convert.ToDouble(match.Groups[6].Value); var pilotoExiste = corrida.VerificarSeOPilotoExiste(piloto); if (pilotoExiste) { var pilotoEncontrado = corrida.GetPiloto(piloto); pilotoEncontrado.AdicionarVolta(volta); continue; } piloto.AdicionarVolta(volta); corrida.AdicionarPilotoNaCorrida(piloto); } } return(corrida); } catch (FileNotFoundException) { throw new FileNotFoundException("O arquivo especificado não está no diretório especificado ou não existe", Nome); } }