public void AplicarPromoAguaSemAguaTest() { var produto = new Produto() { Descricao = "Prod Test", Id = 1, Valor = 5 }; var produto2 = new Produto() { Descricao = "Prod Test2", Id = 2, Valor = 20 }; var produto3 = new Produto() { Descricao = "Prod Test3", Id = 3, Valor = 70 }; var promocao = new Promocao { Id = 1, Desconto = 0, DescontoMaximo = true, ItemDesconto = produto3, ItensAtivadores = new PromocaoItem[] { new PromocaoItem { Id = 1, Item = produto, Quantidade = 2 }, new PromocaoItem { Id = 2, Item = produto2, Quantidade = 3 } }, RepetirPromocao = false }; var comanda = new Comanda() { Id = 1 }; comanda.AddItem(produto); comanda.AddItem(produto); comanda.AddItem(produto2); comanda.AddItem(produto2); comanda.AddItem(produto2); comanda.AplicarPromo(promocao); Assert.Equal(70, comanda.Itens.Sum(x => x.ValorTotal)); }
public void AplicarPromoCerv2vezTest() { var produto = new Produto() { Descricao = "Prod Test", Id = 1, Valor = 5 }; var produto2 = new Produto() { Descricao = "Prod Test2", Id = 2, Valor = 50 }; var promocao = new Promocao { Id = 1, Desconto = 2, DescontoMaximo = false, ItemDesconto = produto, ItensAtivadores = new PromocaoItem[] { new PromocaoItem { Id = 1, Item = produto, Quantidade = 1 }, new PromocaoItem { Id = 2, Item = produto2, Quantidade = 1 } }, RepetirPromocao = true }; var comanda = new Comanda() { Id = 1 }; comanda.AddItem(produto); comanda.AddItem(produto2); comanda.AddItem(produto); comanda.AddItem(produto2); comanda.AplicarPromo(promocao); Assert.Equal(6, comanda.Itens.Single(x => x.Produto.Id == 1).ValorTotal); }