public void PromocaoLightMuitaCarneMuitoQueito( ) { var lanche = Repository.Repository.Lanches.GetById(2); var adicionais = new List <EnumIngrediente> { EnumIngrediente.HamburguerCarne, EnumIngrediente.HamburguerCarne, EnumIngrediente.Queijo, EnumIngrediente.Queijo, EnumIngrediente.Alface }; var valorAdicionais = Repository.Repository.Ingredientes.GetValorIngredientes(adicionais); var desconto = ((adicionais.Concat(lanche.Ingredientes).Count(c => c == EnumIngrediente.Queijo) / 3) * Repository.Repository.Ingredientes.GetById(EnumIngrediente.Queijo).Valor); desconto += ((adicionais.Concat(lanche.Ingredientes).Count(c => c == EnumIngrediente.HamburguerCarne) / 3) * Repository.Repository.Ingredientes.GetById(EnumIngrediente.HamburguerCarne).Valor); var controller = new LanchesController( ); var result = controller.GetSumPromocoes(lanche.Id, string.Join(",", adicionais.Select(s => ( int )s))); var valorLanche = (lanche.Valor + valorAdicionais); valorLanche -= (valorLanche * 0.1); valorLanche -= desconto; Assert.AreEqual(valorLanche, (lanche.Valor + valorAdicionais) - result); }
public void ValorLanchesCardapio() { // Valor de cada ingrediente var allIngredientes = Repository.Repository.Ingredientes.GetAll( ); var controller = new LanchesController( ); var result = controller.GetAll( ) as List <Models.Lanche>; foreach (Models.Lanche lanche in result) { double valueIngredientes = 0; lanche.Ingredientes.ForEach(f => valueIngredientes += Repository.Repository.Ingredientes.GetById(f).Valor); Assert.AreEqual(lanche.Valor, valueIngredientes); } }
public void PromocaoMuitoQueijo( ) { var lanche = Repository.Repository.Lanches.GetById(1); var adicionais = new List <EnumIngrediente> { EnumIngrediente.Queijo, EnumIngrediente.Queijo }; var valorAdicionais = Repository.Repository.Ingredientes.GetValorIngredientes(adicionais); var desconto = ((adicionais.Concat(lanche.Ingredientes).Count(w => w == EnumIngrediente.Queijo) / 3) * Repository.Repository.Ingredientes.GetById(EnumIngrediente.Queijo).Valor); var controller = new LanchesController( ); var result = controller.GetSumPromocoes(lanche.Id, string.Join(",", adicionais.Select(s => ( int )s))); Assert.AreEqual((lanche.Valor + valorAdicionais) - desconto, (lanche.Valor + valorAdicionais) - result); }
public void PromocaoLight( ) { var lanche = Repository.Repository.Lanches.GetById(2); var adicionais = new List <EnumIngrediente> { EnumIngrediente.Alface, EnumIngrediente.Ovo }; var valorAdicionais = Repository.Repository.Ingredientes.GetValorIngredientes(adicionais); var controller = new LanchesController( ); var result = controller.GetSumPromocoes(lanche.Id, string.Join(",", adicionais.Select(s => (int)s))); // Tem que ter 10% de desconto Assert.AreEqual(((lanche.Valor + valorAdicionais) * 0.1), result); }