public void Escrever_arquivo_de_saida_com_combustivel() { var arquivoService = new ArquivoService(); var rotaService = new RotaService(); var rotasECombustivel = rotaService.LerRelatorioComCombustivel(arquivoService, "entrada_rotas_com_combustivel_teste.txt"); var rotas = rotasECombustivel.Item1; var combustivel = rotasECombustivel.Item2; var linhas = rotaService.EscreverRelatorioDeCombustivel(arquivoService, "saida_combustivel_teste.txt", rotas, combustivel).ToArray(); Assert.IsNotNull(linhas); Assert.AreEqual(linhas[0], "0"); Assert.AreEqual(linhas[1], ""); Assert.AreEqual(linhas[2], "55.98"); Assert.AreEqual(linhas[3], "9.26"); Assert.AreEqual(linhas[4], "0"); Assert.AreEqual(linhas[5], ""); }
static void Main(string[] args) { var arquivoService = new ArquivoService(); var rotaService = new RotaService(); var rotas = rotaService.LerRelatorio(arquivoService, "entrada_func_a.txt"); foreach (var rota in rotas) { Console.WriteLine("+-------------+"); Console.WriteLine($"| ROTA DIA {rota.Dia} | "); Console.WriteLine("+-------------+"); foreach (var roteiro in rota.Roteiros) { //CARRO A: 35 km CIDADE A, 80 km CIDADE B, 22 km VOLTAR var mensagem = $"CARRO {roteiro.Veiculo.Codigo}: "; foreach (var trecho in roteiro.Trechos) { if (trecho.Cidade.Equals("0")) { mensagem = mensagem + $"{trecho.Quilometragem} km VOLTAR "; } else { mensagem = mensagem + $"{trecho.Quilometragem} km CIDADE {trecho.Cidade}, "; } } Console.WriteLine(mensagem); Console.WriteLine(""); } } Console.WriteLine("+ --------------------------------------------------+"); Console.WriteLine("Pressione qualquer tecla para gerar arquivo de saída."); Console.WriteLine("+ --------------------------------------------------+"); Console.ReadKey(); rotaService.EscreverRelatorio(arquivoService, "saida_func_a.txt", rotas); Console.WriteLine("+ ------------------------+"); Console.WriteLine("Arquivo gerado com sucesso!"); Console.WriteLine("+ ------------------------+"); Console.WriteLine("+ -----------------------------------------------------------+"); Console.WriteLine("Pressione qualquer tecla para exibir relatório de combustivel."); Console.WriteLine("+ -----------------------------------------------------------+"); Console.ReadKey(); var rotasECombustivel = rotaService.LerRelatorioComCombustivel(arquivoService, "entrada_func_b.txt"); var restante = rotasECombustivel.Item2; foreach (var rota in rotasECombustivel.Item1) { restante -= rota.ConsumoMedio; if (restante > 0) { Console.WriteLine($"ROTA DIA {rota.Dia}: COMBUSTIVEL RESTANTE: {restante} litros"); } else { Console.WriteLine($"ROTA DIA {rota.Dia}: SEM COMBUSTÌVEL SUFICIENTE"); } } Console.WriteLine("+ --------------------------------------------------+"); Console.WriteLine("Pressione qualquer tecla para exibir relatório de combustivel."); Console.WriteLine("+ --------------------------------------------------+"); Console.ReadKey(); rotaService.EscreverRelatorioDeCombustivel(arquivoService, "saida_func_b.txt", rotasECombustivel.Item1, rotasECombustivel.Item2); Console.WriteLine("+ ------------------------+"); Console.WriteLine("Arquivo gerado com sucesso!"); Console.WriteLine("+ ------------------------+"); Console.ReadKey(); }