예제 #1
0
        public void Repetir2Vezes2ProdTest()
        {
            var produto = new Produto()
            {
                Descricao = "Prod Test",
                Id        = 1,
                Valor     = 50
            };
            var produto2 = new Produto()
            {
                Descricao = "Prod Test 2",
                Id        = 2,
                Valor     = 50
            };

            var promocao = new Promocao
            {
                Id              = 1,
                Desconto        = 0,
                DescontoMaximo  = true,
                ItemDesconto    = produto,
                ItensAtivadores = new PromocaoItem[]
                {
                    new PromocaoItem {
                        Id         = 1,
                        Item       = produto,
                        Quantidade = 2
                    },
                    new PromocaoItem {
                        Id         = 2,
                        Item       = produto2,
                        Quantidade = 1
                    }
                },
                RepetirPromocao = true
            };

            var comanda = new Comanda()
            {
                Id = 1
            };

            comanda.AddItem(produto);
            comanda.AddItem(produto);
            comanda.AddItem(produto);
            comanda.AddItem(produto);
            comanda.AddItem(produto2);
            comanda.AddItem(produto2);

            var promValid = promocao.PromocaoValida(comanda);
            var repetir   = promocao.RepetirXVezes(comanda);

            Assert.True(promocao.Valid, "Promoção valida");
            Assert.True(promValid, "Promoção pode ser aplicada");
            Assert.Equal(2, repetir);
        }
예제 #2
0
        public void PromocaoValidaExedTest()
        {
            var produto = new Produto()
            {
                CompraMaxima = 3,
                Descricao    = "Prod Test",
                Id           = 1,
                Valor        = 50
            };

            var promocao = new Promocao
            {
                Id              = 1,
                Desconto        = 0,
                DescontoMaximo  = true,
                ItemDesconto    = produto,
                ItensAtivadores = new PromocaoItem[]
                {
                    new PromocaoItem {
                        Id         = 1,
                        Item       = produto,
                        Quantidade = 2
                    }
                },
                RepetirPromocao = false
            };

            var comanda = new Comanda()
            {
                Id = 1
            };

            comanda.AddItem(produto);
            comanda.AddItem(produto);
            comanda.AddItem(produto);

            var promValid = promocao.PromocaoValida(comanda);

            Assert.True(promValid, "Promoção valida com mais itens que o necessário");
        }