public async Task <bool> Execute(string pathIn, string pathOut) { try { var stringBuilder = new StringBuilder(); // Processando arquivo de entrada. var retrived = await _transformerService.ExecuteProcess(pathIn); // Obtendo as estatísticas do arquivo de entrada. var fileLine = await _reportService.GetStats(retrived); stringBuilder.AppendLine(fileLine.GetDescription(_format)); stringBuilder.AppendLine(fileLine.ToString(_format)); var logRequest = new LogRequest { Path = pathOut, Content = stringBuilder }; //Salvando arquivo de saída. var logResponse = await _writer.SaveData(logRequest); return(logResponse.Result); } catch (Exception) { return(false); } }
public async Task ShouldBeDefinedResult(bool returnValue = true) { var pathIn = "my-drive://localfile"; var pathOut = "my-drive://localfile"; List <string> lines = new List <string>(); lines.Add("001ç1234567891234çPedroç50000"); lines.Add("002ç2345675434544345çJose da SilvaçRural"); lines.Add("003ç10ç[1-10-100,2-30-2.50,3-40-3.10]çPedro"); if (returnValue) { _buildSplitter.Setup(i => i.GetSplitter(lines[0], "ç")).Returns(new SalesmanSplitter { LineToSplit = lines[0], Separator = "ç" }); _buildSplitter.Setup(i => i.GetSplitter(lines[1], "ç")).Returns(new CustomerSplitter { LineToSplit = lines[1], Separator = "ç" }); _buildSplitter.Setup(i => i.GetSplitter(lines[2], "ç")).Returns(new SalesDataSplitter { LineToSplit = lines[2], Separator = "ç" }); } else { _buildSplitter.Setup(i => i.GetSplitter(It.IsAny <string>(), It.IsAny <string>())).Throws(new Exception()); } _retriveDataService.Setup(i => i.GetData(pathIn)).ReturnsAsync(lines); var result = await _transformService.ExecuteProcess(pathIn); if (returnValue) { result.Custumers.Should().HaveCount(1); result.Salesmans.Should().HaveCount(1); result.SalesData.Should().HaveCount(1); } else { result.Should().BeNull(); } }