private void button7_Click(object sender, EventArgs e) { RelatorioMovimentacao f = new RelatorioMovimentacao(); f.ShowDialog(); f.Dispose(); }
private static async Task Main() { string conteudoLog = File.ReadAllText("logmovimentacao.txt"); LogMovimentacaoLeitor logMovimentacaoLeitor = new LogMovimentacaoLeitor(conteudoLog); ApiMovimentacaoLeitor apiMovimentacaoLeitor = new ApiMovimentacaoLeitor(new DadosDaApi { UrlBase = "https://my-json-server.typicode.com/cairano/backend-test", EndpointPagamentos = "pagamentos", EndpointRecebimentos = "recebimentos" }); RelatorioMovimentacaoServico relatorioMovimentacaoServico = new RelatorioMovimentacaoServico(new ILeitorDeMovimentacao[] { logMovimentacaoLeitor, apiMovimentacaoLeitor }); RelatorioMovimentacao relatorioMovimentacao = await relatorioMovimentacaoServico.RetornarRelatorioAsync().ConfigureAwait(false); ExibirGastosPorCategoria(relatorioMovimentacao); ExibirCategoriaComMaisGastos(relatorioMovimentacao); ExibirMesComMaisGastos(relatorioMovimentacao); ExibirValoresDeMovimentacaoDoCliente(relatorioMovimentacao); ExibirLogDeMovimentacoes(relatorioMovimentacao); System.Console.ReadKey(); }
public void Criar_Deve_RetornarUmRelatorioCorreto() { List <Movimentacao> movimentacoes = new List <Movimentacao> { new Movimentacao( data: new DateTime(1, 1, 1), descricao: new DescricaoDeMovimentacao("descricao"), valor: new ValorDeMovimentacao(-3), categoria: new CategoriaDeMovimentacao("Categoria") ), new Movimentacao( data: new DateTime(1, 2, 3), descricao: new DescricaoDeMovimentacao("descricao"), valor: new ValorDeMovimentacao(7), categoria: new CategoriaDeMovimentacao("cátegória") ) }; RelatorioMovimentacao relatorioMovimentacao = RelatorioMovimentacao.Criar(movimentacoes); Assert.Equal(2, relatorioMovimentacao.Movimentacoes.Count); Assert.Equal("Categoria", relatorioMovimentacao.CategoriaComMaisGastos); Assert.Equal(1, relatorioMovimentacao.MesComMaisGastos); Assert.Equal(3, relatorioMovimentacao.QuantoGastou); Assert.Equal(7, relatorioMovimentacao.QuantoRecebeu); Assert.Equal(10, relatorioMovimentacao.MovimentacaoTotal); }
public void Criar_Deve_RetornarNull_Quando_NaoHouveremMovimentacoes() { List <Movimentacao> movimentacoes = new List <Movimentacao>(); RelatorioMovimentacao relatorioMovimentacao = RelatorioMovimentacao.Criar(movimentacoes); Assert.Null(relatorioMovimentacao); }
private static void ExibirValoresDeMovimentacaoDoCliente(RelatorioMovimentacao relatorioMovimentacao) { ExibirTitulo("Valores de movimentação do cliente"); System.Console.WriteLine("Quanto gastou: R$ {0}", relatorioMovimentacao.QuantoGastou); System.Console.WriteLine("Quanto recebeu: R$ {0}", relatorioMovimentacao.QuantoRecebeu); System.Console.WriteLine("Quanto movimentou: R$ {0}", relatorioMovimentacao.MovimentacaoTotal); }
private static void ExibirMesComMaisGastos(RelatorioMovimentacao relatorioMovimentacao) { ExibirTitulo("Mês com mais gastos"); string nomeDoMes = CultureInfo.CurrentUICulture.DateTimeFormat.GetMonthName(relatorioMovimentacao.MesComMaisGastos); System.Console.WriteLine(nomeDoMes); }
private static void ExibirLogDeMovimentacoes(RelatorioMovimentacao relatorioMovimentacao) { ExibirTitulo("Movimentações"); foreach (var movimentacao in relatorioMovimentacao.Movimentacoes) { string descricao = RetornarStringComTamanhoFixo(movimentacao.Descricao, 30); string valor = RetornarStringComTamanhoFixo($"R$ {movimentacao.Valor.ToString("N")}", 10); System.Console.WriteLine("{0:dd/MM} - {1}\t\t{2}\t\t{3}", movimentacao.Data, descricao, valor, movimentacao.Categoria); } }
private static void ExibirGastosPorCategoria(RelatorioMovimentacao relatorioMovimentacao) { ExibirTitulo("Gastos por categoria"); foreach (KeyValuePair <string, decimal> gastosPorCategoriaPar in relatorioMovimentacao.GastosPorCategoria) { string categoria = RetornarStringComTamanhoFixo(gastosPorCategoriaPar.Key, 20); string gasto = RetornarStringComTamanhoFixo($"R$ {gastosPorCategoriaPar.Value}", 10); System.Console.WriteLine("{0}\t{1}", categoria, gasto); } }
public async Task RetornarRelatorioAsync_Deve_ChamarRetornarRelatorioAsyncDeCadaLeitor() { Mock <ILeitorDeMovimentacao> mockLeitorDeMovimentacao1 = new Mock <ILeitorDeMovimentacao>(); mockLeitorDeMovimentacao1 .Setup(x => x.RetornarMovimentacoesAsync()) .ReturnsAsync(new List <Movimentacao>()); Mock <ILeitorDeMovimentacao> mockLeitorDeMovimentacao2 = new Mock <ILeitorDeMovimentacao>(); mockLeitorDeMovimentacao2 .Setup(x => x.RetornarMovimentacoesAsync()) .ReturnsAsync(new List <Movimentacao>()); RelatorioMovimentacaoServico relatorioServico = new RelatorioMovimentacaoServico(new ILeitorDeMovimentacao[] { mockLeitorDeMovimentacao1.Object, mockLeitorDeMovimentacao2.Object }); RelatorioMovimentacao relatorio = await relatorioServico.RetornarRelatorioAsync().ConfigureAwait(false); mockLeitorDeMovimentacao1.Verify(x => x.RetornarMovimentacoesAsync(), Times.Once()); mockLeitorDeMovimentacao2.Verify(x => x.RetornarMovimentacoesAsync(), Times.Once()); }
private static void ExibirCategoriaComMaisGastos(RelatorioMovimentacao relatorioMovimentacao) { ExibirTitulo("Categoria com mais gastos"); System.Console.WriteLine(relatorioMovimentacao.CategoriaComMaisGastos); }