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();
        }
示例#2
0
        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());
        }