Пример #1
0
        public void SePassarListaVaziaDeClientes_LevantaErro()
        {
            var clientes = new List<Cliente>();
            var produto = new Produto("batata", 2.99m);

            Assert.Throws<ArgumentException>(() => new Pedido(produto, clientes));
        }
Пример #2
0
        public void ProdutoTemNomeEPreco()
        {
            var produto = new Produto("batata", 5.00m);

            Assert.AreEqual("batata",produto.Nome,"nome");
            Assert.AreEqual(5.00m,produto.Preco,"preço");
        }
Пример #3
0
        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");
        }
Пример #4
0
        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();
        }
Пример #5
0
        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);
        }
Пример #6
0
        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());
        }