예제 #1
0
        static void Main(string[] args)
        {
            //Desconto
            CalculadorDeDescontos calculador = new CalculadorDeDescontos();

            Orcamento orcamento = new Orcamento(500);

            orcamento.AdicionaItem(new Item("Caneta", 250));
            orcamento.AdicionaItem(new Item("Lápis", 250));
            orcamento.AdicionaItem(new Item("Estojo", 700));
            orcamento.AdicionaItem(new Item("Borracha", 10));
            orcamento.AdicionaItem(new Item("Lapiseira", 500));
            orcamento.AdicionaItem(new Item("Mochila", 1200));

            double desconto = calculador.Calcula(orcamento);

            Console.WriteLine(string.Format("Desconto: {0}", desconto));

            Console.WriteLine("\nPressione qualquer tecla para continuar.");
            Console.ReadKey();


            //SolicitacaoResposta
            SolicitaResposta solicitaResposta = new SolicitaResposta();

            solicitaResposta.Resposta(new Conta("Jociclei", 5000), new Requisicao(Formato.XML));

            Console.WriteLine("\nPressione qualquer tecla para continuar.");
            Console.ReadKey();
        }
예제 #2
0
        static void Main(string[] args)
        {
            // Implementação de Chain Of Responsability

            // Condição para implementação: Quando temos várias regras de negócio e temos condições para
            // aplicar cada um delas

            /*
             *          A ideia do padrão é resolver problemas como esses: de acordo com o cenário,
             *          devemos realizar alguma ação. Ao invés de escrevermos código procedural,
             *          e deixarmos um único método descobrir o que deve ser feito,
             *          quebramos essas responsabilidades em várias diferentes classes,
             *          e as unimos como uma corrente.
             */
            var calculadorDescontos = new CalculadorDeDescontos();
            var orcamento           = new Orcamento(500);

            orcamento.AdicionarItem(new Item("Caneta", 500));
            orcamento.AdicionarItem(new Item("Lapis", 500));
            orcamento.AdicionarItem(new Item("Lapis", 500));
            orcamento.AdicionarItem(new Item("Lapis", 500));
            orcamento.AdicionarItem(new Item("Lapis", 500));
            orcamento.AdicionarItem(new Item("Lapis", 500));

            double desconto = calculadorDescontos.Calcular(orcamento);

            System.Console.WriteLine(desconto);
        }
예제 #3
0
        static void Main(string[] args)
        {
            CalculadorDeDescontos calculador = new CalculadorDeDescontos();

            Orcamento orcamento = new Orcamento(500.0);

            orcamento.AdicionaItem(new Item("CANETA", 250.0));
            orcamento.AdicionaItem(new Item("LAPIS", 250.0));

            double desconto = calculador.Calcula(orcamento);

            Console.WriteLine(desconto);
        }
예제 #4
0
        public void Calculo_Sem_Desconto_Test()
        {
            CalculadorDeDescontos calculador = new CalculadorDeDescontos();

            Orcamento orcamento = new Orcamento(500.0);

            orcamento.AdicionaItem(new Item("CANETA", 250.0));
            orcamento.AdicionaItem(new Item("BORRACHA", 250.0));

            double desconto = calculador.Calcular(orcamento);

            Assert.AreEqual(0, desconto, "Não devem ser realizados descontos para esse orçamento.");
        }
예제 #5
0
        public void Calculo_Desconto_Venda_Casada_Test()
        {
            CalculadorDeDescontos calculador = new CalculadorDeDescontos();

            Orcamento orcamento = new Orcamento(200.0);

            orcamento.AdicionaItem(new Item("CANETA", 100.0));
            orcamento.AdicionaItem(new Item("LAPIS", 100.0));

            double desconto = calculador.Calcular(orcamento);

            Assert.AreEqual(orcamento.Valor * 0.05, desconto, "Deve ser realizado um desconto de (5%) para esse orçamento.");
        }
예제 #6
0
        public void Calculo_Desconto_Mais_De_Quinhentos_Reais_Test()
        {
            CalculadorDeDescontos calculador = new CalculadorDeDescontos();

            Orcamento orcamento = new Orcamento(550.0);

            orcamento.AdicionaItem(new Item("CANETA", 300.0));
            orcamento.AdicionaItem(new Item("LAPIS", 250.0));

            double desconto = calculador.Calcular(orcamento);

            Assert.AreEqual(orcamento.Valor * 0.07, desconto, "Deve ser realizado um desconto de (7%) para esse orçamento.");
        }
        static void Main(string[] args)
        {
            CalculadorDeDescontos calc = new CalculadorDeDescontos();

            Orcamento orcamento = new Orcamento(500);

            orcamento.AdicionaItem(new Item("Lápis", 500));
            orcamento.AdicionaItem(new Item("Caneta", 500));

            double desconto = calc.Calcula(orcamento);

            Console.WriteLine(desconto);

            Console.ReadKey();
        }
예제 #8
0
        public ExemploDesconto()
        {
            Console.WriteLine("Exemplo de Desconto.");

            Orcamento orcamento = new Orcamento();

            orcamento.AdicionarItem(new Item("Borracha", 5.00));
            orcamento.AdicionarItem(new Item("Caneta", 2.00));
            orcamento.AdicionarItem(new Item("Lapiseira", 2.00));
            orcamento.AdicionarItem(new Item("Lapis", 1.00));

            CalculadorDeDescontos calculador = new CalculadorDeDescontos();

            Console.WriteLine("Total: " + orcamento.Valor);
            Console.WriteLine("Desconto: " + calculador.Calcula(orcamento));
        }
예제 #9
0
        public void Calculo_Desconto_Mais_Que_Cinco_Itens_Test()
        {
            CalculadorDeDescontos calculador = new CalculadorDeDescontos();

            Orcamento orcamento = new Orcamento(300.0);

            orcamento.AdicionaItem(new Item("CANETA", 50.0));
            orcamento.AdicionaItem(new Item("LAPIS", 50.0));
            orcamento.AdicionaItem(new Item("CADERNO", 50.0));
            orcamento.AdicionaItem(new Item("BORRACHA", 50.0));
            orcamento.AdicionaItem(new Item("COLA", 50.0));
            orcamento.AdicionaItem(new Item("GIZ", 50.0));

            double desconto = calculador.Calcular(orcamento);

            Assert.AreEqual(orcamento.Valor * 0.1, desconto, "Deve ser realizado um desconto de (10%) para esse orçamento.");
        }
예제 #10
0
        static void Main(string[] args)
        {
            CalculadorDeDescontos calculadorDeDescontos = new CalculadorDeDescontos();

            Orcamento orcamento = new Orcamento(1000.0);

            orcamento.AdicionaItem(new Item("CANETA", 250.0));
            orcamento.AdicionaItem(new Item("LAPIS", 250.0));
            orcamento.AdicionaItem(new Item("ESTOJO", 250.0));
            orcamento.AdicionaItem(new Item("BORRACHA", 250.0));
            orcamento.AdicionaItem(new Item("PAPEL", 250.0));
            orcamento.AdicionaItem(new Item("MOCHILA", 250.0));

            double desconto = calculadorDeDescontos.Calcula(orcamento);

            Console.WriteLine(desconto);
        }
예제 #11
0
        static void Main(string[] args)
        {
            var calculador = new CalculadorDeDescontos();

            Orcamento orcamento = new Orcamento(500);

            orcamento.AdicionaItem(new Item("CANETA", 250));
            orcamento.AdicionaItem(new Item("LAPIS", 250));
            orcamento.AdicionaItem(new Item("BORRACHA", 250));
            orcamento.AdicionaItem(new Item("APONTADOR", 250));
            orcamento.AdicionaItem(new Item("MOCHILA", 250));
            orcamento.AdicionaItem(new Item("LANCHEIRA", 250));

            double desconto = calculador.Cacula(orcamento);

            Console.WriteLine(desconto);

            Console.ReadKey();
        }