public void NoPeriodo_FiltrandoPelaSemanaPassada_DeveRetornarListaVazia()
        {
            // Arrange
            var operacaoExpressao = new OperacaoExpressao();

            // Act
            var resultado = ObterListaOperacoes().Where(operacaoExpressao.NoPeriodo <Operacao>(DateTime.Now.AddDays(-7), DateTime.Now.AddDays(-6)).Compile());

            // Assert
            Assert.AreEqual(0, resultado.Count());
        }
        public void Efetivada_DeveRetornar12OperacoesEfetivadas()
        {
            // Arrange
            var operacaoExpressao = new OperacaoExpressao();

            // Act
            var resultado = ObterListaOperacoes().Where(operacaoExpressao.Efetivada <Operacao>().Compile());

            // Assert
            Assert.AreEqual(12, resultado.Count());
            Assert.IsTrue(resultado.All(x => x.Status == StatusOperacao.Efetivada));
        }
        public void DaConta_FiltrandoPelaConta1_DeveRetornar18OperacoesDaConta1()
        {
            // Arrange
            var contaId           = 1;
            var operacaoExpressao = new OperacaoExpressao();

            // Act
            var resultado = ObterListaOperacoes().Where(operacaoExpressao.DaConta <Operacao>(contaId).Compile());

            // Assert
            Assert.AreEqual(18, resultado.Count());
            Assert.IsTrue(resultado.All(x => x.ContaId == contaId));
        }
        public void NoPeriodo_FiltrandoPelosUltimos2Dias_DeveRetornar18Operacoes()
        {
            // Arrange
            var dataInicial = DateTime.Now.AddDays(-2);
            var dataFinal   = DateTime.Now;

            var operacaoExpressao = new OperacaoExpressao();

            // Act
            var resultado = ObterListaOperacoes().Where(operacaoExpressao.NoPeriodo <Operacao>(dataInicial, dataFinal).Compile());

            // Assert
            Assert.AreEqual(18, resultado.Count());
            Assert.IsTrue(resultado.All(x => x.Data >= dataInicial && x.Data <= dataFinal));
        }