public void Escrever_arquivo_de_saida() { var arquivoService = new ArquivoService(); var rotaService = new RotaService(); var queue = arquivoService.LerArquivoDeEntrada("entrada_rotas_teste.txt"); var veiculos = new List <Veiculo>() { new Veiculo(1, 7), new Veiculo(2, 8), new Veiculo(3, 10), }; var rotas = rotaService.ObterRotas(queue, veiculos); var linhas = rotaService.EscreverRelatorio(arquivoService, "saida_teste.txt", rotas).ToArray(); Assert.IsNotNull(linhas); Assert.AreEqual(linhas[0], "3"); Assert.AreEqual(linhas[1], "1 19.57"); Assert.AreEqual(linhas[2], "2 73.75"); Assert.AreEqual(linhas[3], "3 20.70"); Assert.AreEqual(linhas[4], ""); Assert.AreEqual(linhas[5], "1 9.14"); Assert.AreEqual(linhas[6], "2 14.87"); Assert.AreEqual(linhas[7], "3 22.70"); Assert.AreEqual(linhas[8], ""); Assert.AreEqual(linhas[9], "1 8.00"); Assert.AreEqual(linhas[10], "2 10.87"); Assert.AreEqual(linhas[11], "3 29.00"); Assert.AreEqual(linhas[12], ""); }
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(); }