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); }
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); }
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); }