public void Transferencia_transacoesBancarias_Conta_Debita_ValorNegativo() { RepositorioTransacaoBancaria.Limpar(); var conta = new ContaCorrente(); Assert.Throws <ArgumentException>(() => conta.Debita(-100)); }
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 Transferencia_transacoesBancarias_ContaEspecial_Credita_ValorNegativo() { RepositorioTransacaoBancaria.Limpar(); ContaEspecial conta = new ContaEspecial(); Assert.Throws <ArgumentException>(() => conta.Credita(-100)); }
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 TestarInstanciaUnica() { RepositorioTransacaoBancaria repositorio1 = RepositorioTransacaoBancaria.Instancia(); RepositorioTransacaoBancaria repositorio2 = RepositorioTransacaoBancaria.Instancia(); Assert.AreSame(repositorio1, repositorio2); }
public void Saque_transacoesBancarias_Saldo_Zerado() { RepositorioTransacaoBancaria.Limpar(); ContaCorrente conta = new ContaCorrente(); Assert.Throws <InvalidOperationException>(() => ServicoConta.ExecutarSaque(conta, 500)); }
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 Transferencia_transacoesBancarias_Conta_Bloqueada() { RepositorioTransacaoBancaria.Limpar(); ContaCorrente conta = new ContaCorrente(); ContaCorrente contaDestino = new ContaCorrente(); ServicoConta.Bloquear(conta); Assert.Throws <InvalidOperationException>(() => ServicoConta.ExecutarTransferencia(conta, contaDestino, 500)); }
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 Deposito_transacoesBancarias() { RepositorioTransacaoBancaria.Limpar(); ContaCorrente conta = new ContaCorrente(); conta.Credita(1000); var d = ServicoConta.ExecutarDeposito(conta, 500); Assert.IsNotNull(d.Comprovante); Assert.AreEqual(1500, conta.Saldo); }
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 Transferencia_transacoesBancarias_ContaEspecial_SemLimite() { RepositorioTransacaoBancaria.Limpar(); ContaEspecial conta = new ContaEspecial(); conta.LimiteCredito = 7000; conta.Credita(1000); ContaCorrente contaDestino = new ContaCorrente(); Assert.Throws <InvalidOperationException>(() => ServicoConta.ExecutarTransferencia(conta, contaDestino, 90000)); }
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 void Transferencia_transacoesBancarias_ContaEspecial() { RepositorioTransacaoBancaria.Limpar(); ContaEspecial conta = new ContaEspecial(); conta.LimiteCredito = 7000; ContaCorrente contaDestino = new ContaCorrente(); ServicoConta.ExecutarTransferencia(conta, contaDestino, 500); Assert.AreEqual(-500, conta.Saldo); Assert.AreEqual(500, contaDestino.Saldo); }
public void testar_saque_transacoesBancarias1() { RepositorioTransacaoBancaria.Limpar(); ContaCorrente conta = new ContaCorrente(); conta.Credita(1000); conta.Numero = 123; ServicoSaque servicoSaque = new ServicoSaque(conta, 500); Assert.AreEqual(1, RepositorioTransacaoBancaria.Listar().Count); Assert.IsNotNull(RepositorioTransacaoBancaria.Listar().Cast <Saque>().FirstOrDefault()); }
public void Transferencia_transacoesBancarias() { RepositorioTransacaoBancaria.Limpar(); ContaCorrente conta = new ContaCorrente(); conta.Credita(1000); ContaCorrente contaDestino = new ContaCorrente(); var transf = ServicoConta.ExecutarTransferencia(conta, contaDestino, 500); Assert.IsNotNull(transf.Comprovante); Assert.AreEqual(500, conta.Saldo); Assert.AreEqual(500, contaDestino.Saldo); }
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); }