public void Devo_Conseguir_Criar_Valido() { decimal SaldoAbertura = 100m; Caixa caixa = new Caixa(SaldoAbertura); Assert.IsTrue(caixa.EstaAberto); Assert.AreEqual(DateTime.Today, caixa.DataAbertura.Date); Assert.AreEqual(100m, caixa.SaldoGeral); }
public void Devo_Conseguir_Abrir_Um_Caixa_Fechado() { Caixa caixa = new Caixa(0); caixa.Fechar(); caixa.Abrir(); Assert.IsTrue(caixa.EstaAberto); Assert.AreEqual(DateTime.Today, caixa.DataAbertura.Date); Assert.AreEqual(DateTime.MinValue, caixa.DataFechamento); }
public Dado_Um_Caixa() { // Instancializo um pequeno caixa para verificar se os valores irão bater. this._caixa = new Caixa(130); this._caixa.EfetuarSangria(30); this._caixa.EfetuarReforco(10); this._caixa.EfetuarReforco(50); this._caixa.ReceberAtendimentoCartaoCredito(150); this._caixa.ReceberAtendimentoCartaoCredito(150); this._caixa.ReceberAtendimentoCartaoDebito(100); this._caixa.ReceberAtendimentoCartaoDebito(100); this._caixa.ReceberAtendimentoCartaoDebito(1200); }
public void Devo_Conseguir_Efetuar_Reforco() { Caixa caixa = new Caixa(0); caixa.EfetuarReforco(200); foreach(LancamentoCaixa l in caixa.Lancamentos) { Assert.AreEqual(200, l.Valor); Assert.AreEqual(TipoMovimentacaoLancamentoCaixa.Entrada, l.TipoMovimentacao); Assert.AreEqual(TipoPagamentoLancamentoCaixa.Dinheiro, l.TipoPagamento); Assert.AreEqual("REFORÇO", l.Descricao); } }
public void Devo_Conseguir_Efetuar_Sangria() { Caixa caixa = new Caixa(201); caixa.EfetuarSangria(200); foreach (LancamentoCaixa l in caixa.Lancamentos) { if (l.Descricao.Equals("SALDO DE ABERTURA")) continue; Assert.AreEqual(200, l.Valor); Assert.AreEqual(TipoMovimentacaoLancamentoCaixa.Saida, l.TipoMovimentacao); Assert.AreEqual(TipoPagamentoLancamentoCaixa.Dinheiro, l.TipoPagamento); Assert.AreEqual("SANGRIA", l.Descricao); } }
public Boolean AbrirNovoCaixa(Decimal SaldoAbertura) { Caixa caixaAnteriorAberto = this._repositorio.ObterUltimoCaixaAberto(); if (caixaAnteriorAberto != null) throw new ExcecaoCaixaAnteriorAberto(); Caixa novoCaixa = new Caixa(SaldoAbertura); try { this._repositorio.Salvar(novoCaixa); return true; } catch (Exception) { return false; } }
public void Devo_Conseguir_Receber_Valor_Restante_Com_Dinheiro() { DTORecebimentoCaixa dto = new DTORecebimentoCaixa(); dto.ValorReceber = 100; dto.ValorDinheiro = 10; dto.ValorCartaoCredito = 30; dto.ValorCartaoDebito = 30; Caixa caixa = new Caixa(100m); IFachadaCaixa fachada = new FachadaCaixa(null); DTORecebimentoCaixa dtoRetorno = fachada.ReceberRestanteComDinheiro(dto); Assert.AreEqual(40, dtoRetorno.ValorDinheiro); Assert.AreEqual(0, dtoRetorno.ValorRestante); Assert.AreEqual(0, dtoRetorno.ValorTroco); }
public void Devo_Obter_Valor_Restante_Zerado_Se_A_Soma_For_Maior_Que_O_Valor_A_Receber() { DTORecebimentoCaixa dto = new DTORecebimentoCaixa(); dto.ValorReceber = 100; dto.ValorDinheiro = 50; dto.ValorCartaoCredito = 30; dto.ValorCartaoDebito = 30; Caixa caixa = new Caixa(100m); IFachadaCaixa fachada = new FachadaCaixa(null); DTORecebimentoCaixa dtoRetorno = fachada.CalcularRecebimento(dto); Assert.AreEqual(0, dtoRetorno.ValorRestante); }
public void Se_Nao_Possuir_Lancamentos_Saldo_Deve_Retornar_Zerado() { Caixa caixa = new Caixa(0); Assert.IsTrue(caixa.EstaAberto); Assert.AreEqual(DateTime.Today, caixa.DataAbertura.Date); Assert.AreEqual(0, caixa.SaldoGeral); }
public void Nao_Devo_Conseguir_Receber_Atendimento_Pago_Em_Dinheiro_Com_Valor_Invalido() { Caixa caixa = new Caixa(0); try { caixa.ReceberAtendimentoEmDinheiro(0); } catch (ExcecaoParametroInvalido ex) { if (ex.Message.Equals("valor")) { try { caixa.ReceberAtendimentoEmDinheiro(-12m); } catch (ExcecaoParametroInvalido e) { if (e.Message.Equals("valor")) throw new ExcecaoParametroInvalido("valor"); } } } }
public void Nao_Devo_Conseguir_Efetuar_Uma_Saida_Para_Troco_Se_O_Valor_Do_Troco_For_Maior_Que_O_Saldo_Em_Dinheiro() { Caixa caixa = new Caixa(100m); caixa.EfetuarSaidaParaTroco(125m); }
public void Nao_Devo_Conseguir_Efetuar_Uma_Saida_Para_Troco_Invalida() { Caixa caixa = new Caixa(100); try { caixa.EfetuarSaidaParaTroco(0); } catch (ExcecaoParametroInvalido ex) { if (ex.Message.Equals("valor")) caixa.EfetuarSaidaParaTroco(-1); } }
public void Nao_Devo_Conseguir_Efetuar_Sangria_Invalida() { Caixa caixa = new Caixa(0); try { caixa.EfetuarSangria(-200); } catch (ExcecaoParametroInvalido ex) { if (ex.Message.Equals("valor")) { try { caixa.EfetuarSangria(0); } catch (ExcecaoParametroInvalido e) { if (e.Message.Equals("valor")) throw new ExcecaoParametroInvalido(ex.Message); } } } }
public void Devo_Conseguir_Receber() { Caixa caixa = new Caixa(100); var repositorioCaixaStub = new Mock<ICaixaRepositorio>(); repositorioCaixaStub.Setup(r => r.ObterUltimoCaixaAberto()).Returns(caixa); repositorioCaixaStub.Setup(r => r.Salvar(caixa)); DTORecebimentoCaixa dto = new DTORecebimentoCaixa(); dto.ValorDinheiro = 50; dto.ValorCartaoDebito = 25; dto.ValorCartaoCredito = 25; dto.ValorReceber = 90; dto.ValorTroco = 10; IFachadaCaixa fachada = new FachadaCaixa(repositorioCaixaStub.Object); fachada.Receber(dto); repositorioCaixaStub.Verify(r => r.ObterUltimoCaixaAberto()); repositorioCaixaStub.Verify(r => r.Salvar(caixa)); Assert.AreEqual(140, caixa.SaldoDinheiro); Assert.AreEqual(25, caixa.SaldoCartaoCredito); Assert.AreEqual(25, caixa.SaldoCartaoDebito); Assert.AreEqual(190, caixa.SaldoGeral); }
public void Nao_Devo_Conseguir_Criar_Com_Saldo_Negativo() { Caixa caixa = new Caixa(-1); }
public void Devo_Conseguir_Receber_Atendimento_Pago_Em_Dinheiro() { Caixa caixa = new Caixa(100); caixa.ReceberAtendimentoEmDinheiro(15.25m); Assert.AreEqual(115.25m, caixa.SaldoGeral); Assert.AreEqual(15.25m, caixa.TotalAtendimentosDinheiro); }
public void Devo_Conseguir_Receber_Atendimento_Pago_Com_Cartao_Debito() { Caixa caixa = new Caixa(100); caixa.ReceberAtendimentoCartaoDebito(15.25m); Assert.AreEqual(115.25m, caixa.SaldoGeral); Assert.AreEqual(15.25m, caixa.SaldoCartaoDebito); }
public void Devo_Conseguir_Fechar() { Caixa caixa = new Caixa(100); caixa.Fechar(); Assert.IsFalse(caixa.EstaAberto); Assert.AreEqual(DateTime.Now, caixa.DataFechamento); }
public void Devo_Conseguir_Efetuar_Uma_Saida_Para_Troco() { Caixa caixa = new Caixa(100m); caixa.EfetuarSaidaParaTroco(90); Assert.AreEqual(90, caixa.TotalTrocos); Assert.AreEqual(10, caixa.SaldoDinheiro); Assert.AreEqual(10, caixa.SaldoGeral); }
public void Nao_Devo_Conseguir_Receber_Se_O_Valor_Do_Troco_For_Maior_Que_O_Saldo_Em_Dinheiro_Do_Caixa() { Caixa caixa = new Caixa(100); var repositorioCaixaStub = new Mock<ICaixaRepositorio>(); repositorioCaixaStub.Setup(r => r.ObterUltimoCaixaAberto()).Returns(caixa); DTORecebimentoCaixa dto = new DTORecebimentoCaixa(); dto.ValorTroco = 120; IFachadaCaixa fachada = new FachadaCaixa(repositorioCaixaStub.Object); fachada.Receber(dto); }
public void Nao_Devo_Conseguir_Efetuar_Sangria_Caso_O_Valor_Da_Sangria_For_Maior_Que_O_Saldo_Em_Dinheiro_Do_Caixa() { Caixa caixa = new Caixa(175); caixa.EfetuarSangria(200); }
public void Devo_Conseguir_Obter_Valor_Restante_Ao_Calcular_Recebimento() { DTORecebimentoCaixa dto = new DTORecebimentoCaixa(); dto.ValorReceber = 100; dto.ValorDinheiro = 30; dto.ValorCartaoCredito = 30; dto.ValorCartaoDebito = 30; Caixa caixa = new Caixa(100m); IFachadaCaixa fachada = new FachadaCaixa(null); DTORecebimentoCaixa dtoRetorno = fachada.CalcularRecebimento(dto); Assert.AreEqual(10, dtoRetorno.ValorRestante); }