public void DeveMarcarFaturaComoPagaCasoBoletoUnicoPagueTudo() { ProcessadorDeBoletos processador = new ProcessadorDeBoletos(); Fatura fatura = new Fatura("Cliente", 150.0); Boleto b1 = new Boleto(150.0); IList <Boleto> boletos = new List <Boleto>() { b1 }; processador.Processa(boletos, fatura); Assert.IsTrue(fatura.Pago); }
public void DeveMarcarFaturaComoNaoPagaCasoBoletoUnicoTenhaValorInferiorDaFatura() { ProcessadorDeBoletos processador = new ProcessadorDeBoletos(); Fatura fatura = new Fatura("Cliente", 150.0); Boleto b1 = new Boleto(140.0); IList <Boleto> boletos = new List <Boleto>() { b1 }; processador.Processa(boletos, fatura); Assert.IsFalse(fatura.Pago); }
private static void Encapsulamento() { var boletos = new List <Boleto> { new Boleto(200), new Boleto(300), new Boleto(100) }; var fatura = new Cap4.Fatura("Luis", 900); var pdb = new ProcessadorDeBoletos(); pdb.Processa(boletos, fatura); Console.WriteLine($"Status da fatura: {fatura.Pago}"); }
public void DeveProcessarPagamentoViaBoletoUnico() { ProcessadorDeBoletos processador = new ProcessadorDeBoletos(); Fatura fatura = new Fatura("Cliente", 150.0); Boleto b1 = new Boleto(150.0); IList <Boleto> boletos = new List <Boleto>() { b1 }; processador.Processa(boletos, fatura); Assert.AreEqual(1, fatura.Pagamentos.Count); Assert.AreEqual(150.0, fatura.Pagamentos[0].Valor, 0.00001); }
public void DeveMarcarFaturaComoPagaCasoBoletosTenhamValorIgualDaFatura() { ProcessadorDeBoletos processador = new ProcessadorDeBoletos(); Fatura fatura = new Fatura("Cliente", 150.0); Boleto b1 = new Boleto(75.0); Boleto b2 = new Boleto(75.0); IList <Boleto> boletos = new List <Boleto>() { b1, b2 }; processador.Processa(boletos, fatura); Assert.IsTrue(fatura.Pago); }
public void DeveMarcarFaturaComoPagaCasoValorTotalDeVariosBoletosPagueValorSuperiorAoDaFatura() { ProcessadorDeBoletos processador = new ProcessadorDeBoletos(); Fatura fatura = new Fatura("Cliente", 300.0); Boleto b1 = new Boleto(200.0); Boleto b2 = new Boleto(200.0); IList <Boleto> boletos = new List <Boleto>() { b1, b2 }; processador.Processa(boletos, fatura); Assert.IsTrue(fatura.Pago); }
public void DeveProcessarPagamentoViaMuitosBoletos() { ProcessadorDeBoletos processador = new ProcessadorDeBoletos(); Fatura fatura = new Fatura("Cliente", 300.0); Boleto b1 = new Boleto(100.0); Boleto b2 = new Boleto(200.0); IList <Boleto> boletos = new List <Boleto>() { b1, b2 }; processador.Processa(boletos, fatura); Assert.AreEqual(2, fatura.Pagamentos.Count); Assert.AreEqual(100.0, fatura.Pagamentos[0].Valor, 0.00001); Assert.AreEqual(200.0, fatura.Pagamentos[1].Valor, 0.00001); }
private static void TestaEncapsulamentoExemploProcessadorDeBoletos() { var boletos = new List <Boleto>() { new Boleto(500), new Boleto(200), new Boleto(350) }; var fatura = new EFatura("Fulano", 1000); var processador = new ProcessadorDeBoletos(); processador.Processa(boletos, fatura); Console.WriteLine(fatura.Pago ? "Pagou." : "Não pagou."); Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("1.Coesao-SRP"); var cargo = new Desenvolvedor(new CinquentaPorcento()); var funcionario = new Funcionario(cargo, 2.500); var resultado = new CalculadoraDeSalario(funcionario).Calcula(); Console.WriteLine(resultado); Console.WriteLine("\n---------------------------\n"); Console.WriteLine("2.Acoplamento-Estabilidade"); var listEventosAporGerarNota = new List <IAcaoAposGerarNota>(); listEventosAporGerarNota.Add(new NotaFiscalDao()); listEventosAporGerarNota.Add(new EnviadorDeEmail()); var gerarNf = new GeradorDeNotaFiscal(listEventosAporGerarNota).Gera(new Acoplamento_Estabilidade.Fatura(200, "José")); Console.WriteLine(gerarNf.ValorBruto); Console.WriteLine("\n---------------------------\n"); Console.WriteLine("3.OCP-DIP"); var tabelaPreco = new TabelaDePrecoPadrao(); var servicoEntrega = new Frete(); var calculadoraPreco = new CalculadoraDePrecos(tabelaPreco, servicoEntrega); var valorCalculado = calculadoraPreco.Calcula(new Compra() { Cidade = new FreteCidadeSaoPaulo(), Valor = 100 }); Console.WriteLine(valorCalculado); Console.WriteLine("\n---------------------------\n"); Console.WriteLine("4.Encapsulamento"); IList <Boleto> boletos = new List <Boleto>(); boletos.Add(new Boleto(200.00)); boletos.Add(new Boleto(300.00)); boletos.Add(new Boleto(350.00)); Encapsulamento.Fatura fatura = new Encapsulamento.Fatura("Joseph", 900); ProcessadorDeBoletos pdb = new ProcessadorDeBoletos(); pdb.Processa(boletos, fatura); Console.WriteLine(fatura.Pago); Console.WriteLine("\n---------------------------\n"); Console.WriteLine("5.Heranca-LSP"); IList <ContaComum> contas = new List <ContaComum>(); var contaComum = new ContaComum(); contaComum.Deposita(100); contas.Add(contaComum); var contaComum2 = new ContaComum(); contaComum2.Deposita(150); contas.Add(contaComum2); var contaEstudante = new ContaEstudante(); contaEstudante.Deposita(100); contas.Add(contaEstudante); ProcessadorDeInvestimentos pi = new ProcessadorDeInvestimentos(); pi.Processa(contas); Console.WriteLine("\n---------------------------\n"); }