public void DescontoCadaTresQueijosPagaDois() { // Lanche Domain.Models.Lanche seisQueijos = new Domain.Models.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); }
public void SemDescontoDeDezPorCentoPorTerAlfaceEBacon() { // Lanche Domain.Models.Lanche xOvo = new Domain.Models.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(Domain.Models.Lanche lanche) { //Para gatantir vou aparga as associaçoes e criar novamente // associações desse lanche var associacoes = _repoLancheIngrediente.Find(li => li.LancheId == lanche.Id); _repoLancheIngrediente.RemoveRange(associacoes); // refaz associações var novas_associacoes = lanche.LanchesIngredientes; _repoLancheIngrediente.AddRange(novas_associacoes); // Calcula Preço lanche.CalcularPreco(); _repoLanche.Update(lanche); }