Ejemplo n.º 1
0
 public void TestPedidoNaoEstarPreenchidoSeNaoHouverDisponibilidade()
 {
     var pedido = new Pedido(Talisker, 51);
     pedido.Preencher(_estoque);
     Assert.IsFalse(pedido.EstaPreenchido());
     Assert.AreEqual(50, _estoque.ObterDisponibilidade(Talisker));
 }
Ejemplo n.º 2
0
 public void TestPedidoEstarPreenchidoSeHaverDisponibilidadeNoEstoque()
 {
     var pedido = new Pedido(Talisker, 50);
     pedido.Preencher(_estoque);
     Assert.IsTrue(pedido.EstaPreenchido());
     Assert.AreEqual(0, _estoque.ObterDisponibilidade(Talisker));
 }
Ejemplo n.º 3
0
 public void TestPedidoEnviaEmailSeNaoHouverDisponibilidade()
 {
     var pedido = new Pedido(Talisker, 51);
     IEmailService emailService = new EmailServiceStub();
     pedido.DefinirEmailService(emailService);
     pedido.Preencher(_estoque);
     Assert.AreEqual(1, emailService.QuantidadeEnviada());
 }
        public void TestPreenchimentoNaoRetiraDoEstoqueSeNaoHouverDisponibilidade()
        {
            var pedido = new Pedido(Talisker, 51);
            var estoqueMock = new Mock<IEstoque>(MockBehavior.Strict);

            estoqueMock
                .Setup(x => x.TemDisponibilidade(It.IsAny<string>(), It.IsAny<int>()))
                .Returns(false);

            pedido.Preencher(estoqueMock.Object);

            //estoqueMock.VerifyAll(); // para MockBehavior.Loose
            Assert.IsFalse(pedido.EstaPreenchido());
        }
        public void TestPreenchimentoRetiraDoEstoqueSeHouverDisponibilidade()
        {
            var pedido = new Pedido(Talisker, 50);
            var estoqueMock = new Mock<IEstoque>();

            estoqueMock
                .Setup(x => x.TemDisponibilidade(Talisker, 50))
                .Returns(true);
            estoqueMock
                .Setup(x => x.Retirar(Talisker, 50));

            pedido.Preencher(estoqueMock.Object);

            estoqueMock.Verify(x => x.TemDisponibilidade(Talisker, 50), Times.Once());
            estoqueMock.Verify(x => x.Retirar(Talisker, 50), Times.Once());
            Assert.IsTrue(pedido.EstaPreenchido());
        }
        public void TestPreenchimentoEnviaEmailSeNaoHouverDisponibilidade()
        {
            var pedido = new Pedido(Talisker, 51);
            var estoqueMock = new Mock<IEstoque>();
            var emailServiceMock = new Mock<IEmailService>();
            pedido.DefinirEmailService(emailServiceMock.Object);

            estoqueMock
                .Setup(x => x.TemDisponibilidade(It.IsAny<string>(), It.IsAny<int>()))
                .Returns(false);
            emailServiceMock
                .Setup(x => x.Enviar(It.IsAny<string>()));

            pedido.Preencher(estoqueMock.Object);

            estoqueMock.VerifyAll();
            emailServiceMock.VerifyAll();
        }