Esempio n. 1
0
        public void DescontoCadaTresQueijosPagaDois()
        {
            // Lanche
            Lanche seisQueijos = new Lanche {
                Id = 1, Nome = "SeisQueijos"
            };
            // Ingrediente
            Ingrediente queijo = _serviceIngrediente.Get(5);
            // Lanche Ingrediente
            LancheIngrediente li = new LancheIngrediente {
                Id             = 1,
                Lanche         = seisQueijos,
                LancheId       = 1,
                Ingrediente    = queijo,
                IngredienteId  = queijo.Id,
                QtdIngrediente = 6
            };

            // Add Lanche Ingrediente
            seisQueijos.LanchesIngredientes.Add(li);
            // Calcula preço do lanche
            seisQueijos.CalcularPreco();

            //6 queijos, desconta 2 queijos, da um total de 4 queijos
            var precoFinalDoLanche = queijo.Preco * 4;

            Assert.True(precoFinalDoLanche == seisQueijos.Preco);
        }
Esempio n. 2
0
        public void SemDescontoDeDezPorCentoPorTerAlfaceEBacon()
        {
            // Lanche
            Lanche xOvo = new Lanche {
                Id = 1, Nome = "xOvo"
            };
            // Ingredientes
            Ingrediente ovo    = _serviceIngrediente.Get(4);
            Ingrediente alface = _serviceIngrediente.Get(1);
            Ingrediente bacon  = _serviceIngrediente.Get(2);
            // União Lanche Ingrediente
            LancheIngrediente liOvo = new LancheIngrediente
            {
                Id             = 1,
                Lanche         = xOvo,
                LancheId       = 1,
                Ingrediente    = ovo,
                IngredienteId  = ovo.Id,
                QtdIngrediente = 10
            };
            LancheIngrediente liAlface = new LancheIngrediente
            {
                Id             = 1,
                Lanche         = xOvo,
                LancheId       = 1,
                Ingrediente    = alface,
                IngredienteId  = alface.Id,
                QtdIngrediente = 1
            };
            LancheIngrediente liBacon = new LancheIngrediente
            {
                Id             = 1,
                Lanche         = xOvo,
                LancheId       = 1,
                Ingrediente    = bacon,
                IngredienteId  = bacon.Id,
                QtdIngrediente = 1
            };

            // União Lanche Ingrediente
            xOvo.LanchesIngredientes.Add(liOvo);
            xOvo.LanchesIngredientes.Add(liAlface);
            xOvo.LanchesIngredientes.Add(liBacon);
            // Calcula Preco do lanche.
            xOvo.CalcularPreco();

            var precoDoLancheSemDesconto = (ovo.Preco * 10) + alface.Preco + bacon.Preco;
            var precoDoLancheComDesconto = precoDoLancheSemDesconto;

            Assert.True(precoDoLancheComDesconto == xOvo.Preco);
        }
        public void Update(Lanche entity)
        {
            //Para gatantir vou aparga as associaçoes e criar novamente

            // associações desse lanche
            var associacoes = _repoLancheIngrediente.Find(li => li.LancheId == entity.Id);

            _repoLancheIngrediente.RemoveRange(associacoes);

            // refaz associações
            var novas_associacoes = entity.LanchesIngredientes;

            _repoLancheIngrediente.AddRange(novas_associacoes);

            // Calcula Preço
            entity.CalcularPreco();

            _repoLanche.Update(entity);
        }
Esempio n. 4
0
        public void DescontoDeDezPorCentoCasoTenhaAlface()
        {
            // Lanche
            Lanche xOvo = new Lanche {
                Id = 1, Nome = "xOvo"
            };
            // Ingredientes
            Ingrediente ovo    = _serviceIngrediente.Get(4);
            Ingrediente alface = _serviceIngrediente.Get(1);
            // União Lanche Ingrediente
            LancheIngrediente liOvo = new LancheIngrediente
            {
                Id             = 1,
                Lanche         = xOvo,
                LancheId       = 1,
                Ingrediente    = ovo,
                IngredienteId  = ovo.Id,
                QtdIngrediente = 10
            };
            LancheIngrediente liAlface = new LancheIngrediente
            {
                Id             = 1,
                Lanche         = xOvo,
                LancheId       = 1,
                Ingrediente    = alface,
                IngredienteId  = alface.Id,
                QtdIngrediente = 1
            };

            // União Lanche Ingrediente
            xOvo.LanchesIngredientes.Add(liOvo);
            xOvo.LanchesIngredientes.Add(liAlface);
            // Calcula Preco do lanche.
            xOvo.CalcularPreco();

            var precoDoLancheSemDesconto = (ovo.Preco * 10) + alface.Preco;
            var precoDoLancheComDesconto = precoDoLancheSemDesconto - ((precoDoLancheSemDesconto / 100) * 10);

            Assert.True(precoDoLancheComDesconto == xOvo.Preco);
        }