public void testar_extrato() { var conta = new ContaCorrente(); conta.Credita(1000); conta.Numero = 123; var extrato = new Extrato(conta); extrato.Executa(); RepositorioTransacaoBancaria.LimparRepositorio(); RepositorioTransacaoBancaria.Adicionar(extrato); Assert.Contains(extrato, RepositorioTransacaoBancaria.Listar()); Extrato recuperado = RepositorioTransacaoBancaria.Listar().Cast <Extrato>().FirstOrDefault(); List <Extrato> extratos = RepositorioTransacaoBancaria.Listar() .Where(t => t.GetType().Name == typeof(Extrato).Name) .Cast <Extrato>() .ToList(); Assert.AreEqual(extrato, recuperado); }
public void testar_deposito() { var conta = new ContaCorrente(); conta.Numero = 123; conta.Credita(1000); var deposito = new Deposito(conta, 500); deposito.Executa(); var comprovante = deposito.Comprovante; RepositorioTransacaoBancaria.Adicionar(deposito); Assert.Contains(deposito, RepositorioTransacaoBancaria.Listar()); var recuperado = RepositorioTransacaoBancaria.Listar().Cast <Deposito>().FirstOrDefault(); List <Deposito> depositos = RepositorioTransacaoBancaria.Listar() .Where(t => t.GetType().Name == typeof(Deposito).Name) .Cast <Deposito>() .ToList(); Assert.AreEqual(deposito, recuperado); }
public void testar_saque() { var conta = new ContaCorrente(); conta.Credita(1000); conta.Numero = 123; TransacaoBancaria saque = new Saque(conta, 500); saque.Executa(); Comprovante comprovante = saque.Comprovante; RepositorioTransacaoBancaria.LimparRepositorio(); RepositorioTransacaoBancaria.Adicionar(saque); Assert.Contains(saque, RepositorioTransacaoBancaria.Listar()); Saque recuperado = RepositorioTransacaoBancaria.Listar().Cast <Saque>().FirstOrDefault(); List <Saque> saques = RepositorioTransacaoBancaria.Listar() .Where(t => t.GetType().Name == typeof(Saque).Name) .Cast <Saque>() .ToList(); Assert.AreEqual(saque, recuperado); }
public void Executar() { if (_conta.Status != "Bloqueado" && _conta.Saldo >= _valor) { TransacaoBancaria saque = new Saque(_conta, _valor); saque.Executa(); RepositorioTransacaoBancaria.Adicionar(saque); } }
public void EmitirExtratos() { RepositorioTransacaoBancaria.Limpar(); ContaCorrente conta = new ContaCorrente(); RepositorioTransacaoBancaria.Adicionar(new Deposito(conta, 10000)); RepositorioTransacaoBancaria.Adicionar(new Saque(conta, 500)); RepositorioTransacaoBancaria.Adicionar(new Saque(conta, 500)); Assert.AreEqual(3, RepositorioTransacaoBancaria.EmiteExtrato(conta, 20).Count()); }
public void Imprimir_Extrato() { ContaCorrente conta = new ContaCorrente(); RepositorioTransacaoBancaria.Adicionar(new Deposito(conta, 1000)); RepositorioTransacaoBancaria.Adicionar(new Saque(conta, 200)); Extrato extrato = new Extrato(conta, DateTime.Now.AddDays(-1), DateTime.Now); extrato.Executa(); Assert.AreEqual(2, extrato.TransacoesBancarias.Count()); }
public void Imprimir_Extrato_Conta_Inativa() { ContaCorrente conta = new ContaCorrente(); RepositorioTransacaoBancaria.Adicionar(new Deposito(conta, 1000)); RepositorioTransacaoBancaria.Adicionar(new Saque(conta, 200)); ServicoConta.Bloquear(conta); Extrato extrato = new Extrato(conta, DateTime.Now.AddDays(-1), DateTime.Now); Assert.Throws <InvalidOperationException>(() => extrato.Executa()); Assert.IsNotNull(extrato.Comprovante.Descricao); }
public static Transferencia ExecutarTransferencia(ContaCorrente contaOrigem, ContaCorrente contaDestino, decimal valor) { Transferencia transacao; if (contaOrigem.Ativa && contaDestino.Ativa) { transacao = new Transferencia(contaOrigem, contaDestino, valor); transacao.Executa(); RepositorioTransacaoBancaria.Adicionar(transacao); } else { throw new InvalidOperationException("Conta bloqueada ou saldo insuficiente!"); } return(transacao); }
public static Deposito ExecutarDeposito(ContaCorrente conta, decimal valor) { Deposito deposito = null; if (conta.Ativa) { deposito = new Deposito(conta, valor); deposito.Executa(); RepositorioTransacaoBancaria.Adicionar(deposito); } else { throw new InvalidOperationException("Conta bloqueada ou saldo insuficiente!"); } return(deposito); }
public static Saque ExecutarSaque(ContaCorrente conta, decimal valor) { Saque saque; if (conta.Ativa && conta.Saldo >= valor) { saque = new Saque(conta, valor); saque.Executa(); RepositorioTransacaoBancaria.Adicionar(saque); } else { throw new InvalidOperationException("Conta bloqueada ou saldo insuficiente!"); } return(saque); }
public void testar_transferencia() { var contaorigem = new ContaCorrente(); var contadestino = new ContaCorrente(); contaorigem.Agencia = new Agencia(); contaorigem.Agencia.Banco = new Banco(); contaorigem.Credita(1000); contaorigem.Numero = 568465; contaorigem.Status = "Ativa"; contaorigem.DataAbertura = System.DateTime.Now.Date; contaorigem.Agencia.Numero = 1; contaorigem.Agencia.Banco.Numero = 1; contadestino.Agencia = new Agencia(); contadestino.Agencia.Banco = new Banco(); contadestino.Credita(1000); contadestino.Numero = 999546; contadestino.Status = "Ativa"; contadestino.DataAbertura = System.DateTime.Now.Date; contadestino.Agencia.Numero = 1; contadestino.Agencia.Banco.Numero = 1; TransacaoBancaria transferencia = new Transferencia(contaorigem, contadestino, 500); transferencia.Executa(); Comprovante comprovante = transferencia.Comprovante; RepositorioTransacaoBancaria.LimparRepositorio(); RepositorioTransacaoBancaria.Adicionar(transferencia); Assert.Contains(transferencia, RepositorioTransacaoBancaria.Listar()); Transferencia recuperado = RepositorioTransacaoBancaria.Listar().Cast <Transferencia>().FirstOrDefault(); List <Transferencia> transferencias = RepositorioTransacaoBancaria.Listar() .Where(t => t.GetType().Name == typeof(Transferencia).Name) .Cast <Transferencia>() .ToList(); Assert.AreEqual(transferencia, recuperado); }