public void SePassarListaVaziaDeClientes_LevantaErro() { var clientes = new List<Cliente>(); var produto = new Produto("batata", 2.99m); Assert.Throws<ArgumentException>(() => new Pedido(produto, clientes)); }
public void ProdutoTemNomeEPreco() { var produto = new Produto("batata", 5.00m); Assert.AreEqual("batata",produto.Nome,"nome"); Assert.AreEqual(5.00m,produto.Preco,"preço"); }
public void PedidoTemProdutoCliente() { var clientes = new List<Cliente> { new Cliente("Gabriel") }; var produto = new Produto("batata", 2.99m); var pedido = new Pedido(produto, clientes); Assert.AreEqual(produto, pedido.Produto); Assert.IsTrue(clientes.SequenceEqual(pedido.Clientes), "clientes"); }
public Pedido(Produto produto, IList<Cliente> clientes) { Produto = produto; if (!clientes.Any()) throw new ArgumentException("O pedido deve ter pelo menos um cliente"); SetTotalPorCliente(clientes); Clientes = clientes; Id = Guid.NewGuid(); }
public void TotalPorCliente() { var clientes = new List<Cliente> { new Cliente("Gabriel"), new Cliente("Natalia") }; var produto = new Produto("batata", 3m); var pedido = new Pedido(produto, clientes); Assert.AreEqual(1.5m, pedido.Clientes[0].Total); }
public void TotalPago() { var clientes = new List<Cliente> { new Cliente("Gabriel"), new Cliente("Natalia") }; var produto = new Produto("batata", 3m); var pedido = new Pedido(produto, clientes); pedido.RegistrarPagamento(new Cliente("Gabriel") { Pago = true }); Assert.AreEqual(1.5m, pedido.GetTotalPago()); }