public void Should_fineshed_aoction_that_started_today() { //Given DateTime diaDaSemanaPassada = DateTime.Now; Leilao leilao1 = new Leilao("Tv de plasma"); leilao1.naData(diaDaSemanaPassada); Leilao leilao2 = new Leilao("Playstation"); leilao2.naData(diaDaSemanaPassada); List <Leilao> ListaDeLeiloes = new List <Leilao>(); ListaDeLeiloes.Add(leilao1); ListaDeLeiloes.Add(leilao2); var dao = new Mock <RepositorioDeLeiloes>(); var carteiro = new Mock <Carteiro>(); dao.Setup(d => d.Correntes()) .Returns(ListaDeLeiloes); //When EncerradorDeLeilao encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.Encerra(); //Then Assert.Equal(0, encerrador.Total); Assert.False(leilao1.encerrado); Assert.False(leilao2.encerrado); }
public void deveEncerrarLeiloesQueComecaramUmaSemanaAntesVerificarAtualizacaoDuplicada() { DateTime data = new DateTime(2014, 05, 05); Leilao leilao1 = new Leilao("Tv 20 polegadas", data); Leilao leilao2 = new Leilao("Play 2", data); List <Leilao> leiloesAntigos = new List <Leilao>(); leiloesAntigos.Add(leilao1); leiloesAntigos.Add(leilao2); // criando o mock var dao = new Mock <LeilaoDaoFalso>(); // ensinando a retornar os leiloes antigos quando chamar o correntes dao.Setup(m => m.correntes()).Returns(leiloesAntigos); var carteiro = new Mock <Carteiro>(); EncerradorDeLeilao encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.Encerra(); Assert.AreEqual(2, leiloesAntigos.Count); Assert.IsTrue(leiloesAntigos[0].encerrado); Assert.IsTrue(leiloesAntigos[1].encerrado); //verifica se o método f oi invocado dao.Verify(m => m.atualiza(leilao1), Times.AtLeast(2)); dao.Verify(m => m.atualiza(leilao2)); }
public void Should_do_not_update_auctions_fineshed() { //Given DateTime data = new DateTime(2016, 2, 15); Leilao leilao1 = new Leilao("Tv 20 polegadas"); leilao1.naData(data); List <Leilao> listaRetorno = new List <Leilao>(); listaRetorno.Add(leilao1); var dao = new Mock <LeilaoDaoFalso>(); var carteiro = new Mock <Carteiro>(); dao.Setup(m => m.Correntes()).Returns(listaRetorno); //When EncerradorDeLeilao encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.Encerra(); // verify aqui ! dao.Verify(d => d.Salva(leilao1), Times.Never()); dao.Verify(d => d.Atualiza(leilao1), Times.Exactly(1)); dao.Verify(d => d.Atualiza(leilao1), Times.AtLeastOnce()); dao.Verify(d => d.Correntes(), Times.AtLeastOnce()); dao.Verify(d => d.Correntes(), Times.AtLeast(1)); dao.Verify(d => d.Atualiza(leilao1), Times.AtMost(1)); dao.Verify(d => d.Correntes(), Times.AtMost(1)); //Then }
public void NaoDeveInvocarOEnvio() { DateTime data = new DateTime(2014, 05, 05); Leilao leilao1 = new Leilao("Tv 20 polegadas", data); Leilao leilao2 = new Leilao("Play 2", data); List <Leilao> listaRetorno = new List <Leilao>(); listaRetorno.Add(leilao1); listaRetorno.Add(leilao2); var dao = new Mock <LeilaoDaoFalso>(); dao.Setup(m => m.correntes()).Returns(listaRetorno); var carteiro = new Mock <Carteiro>(); //aqui indico quanndo devo gerar a exceção em que método dao.Setup(m => m.atualiza(leilao1)).Throws(new Exception()); dao.Setup(m => m.atualiza(leilao2)).Throws(new Exception()); EncerradorDeLeilao encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.Encerra(); dao.Verify(m => m.atualiza(leilao2)); carteiro.Verify(c => c.Envia(leilao1), Times.Never()); carteiro.Verify(c => c.Envia(leilao2), Times.Never()); }
public void Should_return_nothing_when_dont_have_auction() { //Given var dao = new Mock <RepositorioDeLeiloes>(); var carteiro = new Mock <Carteiro>(); dao.Setup(d => d.Correntes()) .Returns(new List <Leilao>()); //When EncerradorDeLeilao encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.Encerra(); //Then Assert.Equal(0, encerrador.Total); }
public void NaoDeveAtualizaOsLeiloesComAteUmaSemana() { DateTime data = new DateTime(2016, 02, 06); Leilao leilao1 = new Leilao("Tv 20 polegadas", data); List <Leilao> listaRetorno = new List <Leilao>(); listaRetorno.Add(leilao1); var dao = new Mock <LeilaoDaoFalso>(); dao.Setup(m => m.correntes()).Returns(listaRetorno); var carteiro = new Mock <Carteiro>(); EncerradorDeLeilao encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.Encerra(); dao.Verify(m => m.atualiza(leilao1), Times.Never()); }
public void Should_throw_exceptions_for_all_throws_in_auction() { //Given DateTime diaDaSemanaPassada = new DateTime(1999, 05, 05); Leilao leilao1 = new Leilao("Tv de plasma"); leilao1.naData(diaDaSemanaPassada); Leilao leilao2 = new Leilao("Playstation"); leilao2.naData(diaDaSemanaPassada); List <Leilao> ListaDeLeiloes = new List <Leilao>(); ListaDeLeiloes.Add(leilao1); ListaDeLeiloes.Add(leilao2); // MOCK var dao = new Mock <RepositorioDeLeiloes>(); dao.Setup(d => d.Correntes()) .Returns(ListaDeLeiloes); dao.Setup(c => c.Atualiza(leilao1)) .Throws(new Exception()); dao.Setup(c => c.Atualiza(leilao2)) .Throws(new Exception()); var carteiro = new Mock <Carteiro>(); //When EncerradorDeLeilao encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.Encerra(); //Then carteiro.Verify(c => c.envia(It.IsAny <Leilao>()), Times.Never()); // carteiro.Verify(c => c.envia(leilao1), Times.Never()); // carteiro.Verify(c => c.envia(leilao2), Times.Never()); }
public void Should_continue_even_make_it_when_throw_exception_sending_mail() { //Given DateTime diaDaSemanaPassada = new DateTime(1999, 05, 05); Leilao leilao1 = new Leilao("Tv de plasma"); leilao1.naData(diaDaSemanaPassada); Leilao leilao2 = new Leilao("Playstation"); leilao2.naData(diaDaSemanaPassada); List <Leilao> ListaDeLeiloes = new List <Leilao>(); ListaDeLeiloes.Add(leilao1); ListaDeLeiloes.Add(leilao2); // MOCK var dao = new Mock <RepositorioDeLeiloes>(); dao.Setup(d => d.Correntes()) .Returns(ListaDeLeiloes); var carteiro = new Mock <Carteiro>(); carteiro.Setup(c => c.envia(leilao1)) .Throws(new Exception()); //When EncerradorDeLeilao encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.Encerra(); //Then dao.Verify(d => d.Atualiza(leilao1), Times.Once, "Error when verifica if the second auction was method update used"); dao.Verify(d => d.Atualiza(leilao2), Times.Once, "Error when verifica if the second auction was method update used"); carteiro.Verify(c => c.envia(leilao2), Times.Once()); }
public void DeveEncerrarLeiloesQueComecaramUmaSemanaAntes() { DateTime data = new DateTime(2016, 01, 01); Leilao leilao1 = new Leilao("tv 20 polegadas", data); Leilao leilao2 = new Leilao("PlayStation", data); var carteiro = new Mock <Carteiro>(); //LeilaoDaoFalso dao = new LeilaoDaoFalso(); //dao.salva(leilao1); //dao.salva(leilao2); List <Leilao> leiloesAntigos = new List <Leilao>(); leiloesAntigos.Add(leilao1); leiloesAntigos.Add(leilao2); var dao = new Mock <LeilaoDaoFalso>(); dao.Setup(m => m.correntes()).Returns(leiloesAntigos); EncerradorDeLeilao encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.Encerra(); Assert.AreEqual(2, encerrador.total); Assert.IsTrue(leilao1.encerrado); Assert.IsTrue(leilao2.encerrado); //leiloesAntigos = encerrador.Encerra().ToList(); //Assert.AreEqual(2, leiloesAntigos.Count); //Console.Write(leiloesAntigos.Count); //Console.Write(encerrador.ComecouSemanaPassada(leiloesAntigos[1])); //Assert.IsTrue(leiloesAntigos[0].encerrado); //Assert.IsTrue(leiloesAntigos[1].encerrado); }
public void Should_fineshed_aoctions_and_save_in_dao() { //Given DateTime diaDaSemanaPassada = new DateTime(1999, 05, 05); Leilao leilao1 = new Leilao("Tv de plasma"); leilao1.naData(diaDaSemanaPassada); Leilao leilao2 = new Leilao("Playstation"); leilao2.naData(diaDaSemanaPassada); List <Leilao> ListaDeLeiloes = new List <Leilao>(); ListaDeLeiloes.Add(leilao1); ListaDeLeiloes.Add(leilao2); var dao = new Mock <RepositorioDeLeiloes>(); var carteiro = new Mock <Carteiro>(); dao.Setup(d => d.Correntes()) .Returns(ListaDeLeiloes); //When EncerradorDeLeilao encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.Encerra(); dao.Verify(d => d.Atualiza(leilao1), Times.Once, "Error when verifica if the first auction was method update used"); dao.Verify(d => d.Atualiza(leilao2), Times.Once, "Error when verifica if the second auction was method update used"); //Then // Assert.Equal(0, encerrador.Total); // Assert.False(leilao1.encerrado); // Assert.False(leilao2.encerrado); }
public void NaoDeveInvocarOEnvioItIsAny() { DateTime data = new DateTime(2014, 05, 05); Leilao leilao1 = new Leilao("Tv 20 polegadas", data); Leilao leilao2 = new Leilao("Play 2", data); List <Leilao> listaRetorno = new List <Leilao>(); listaRetorno.Add(leilao1); listaRetorno.Add(leilao2); var dao = new Mock <LeilaoDaoFalso>(); dao.Setup(m => m.correntes()).Returns(listaRetorno); var carteiro = new Mock <Carteiro>(); //aqui indico quanndo devo gerar a exceção em que método dao.Setup(m => m.atualiza(leilao1)).Throws(new Exception()); dao.Setup(m => m.atualiza(leilao2)).Throws(new Exception()); EncerradorDeLeilao encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.Encerra(); //carteiro.Verify(c => c.Envia(leilao1), Times.Never()); //carteiro.Verify(c => c.Envia(leilao2), Times.Never()); //aqui informo que quero verificar todas as vezes que o método foi executado inependente de quem ele está enviado carteiro.Verify(c => c.Envia(It.IsAny <Leilao>()), Times.Never()); //verify(carteiroFalso,never()).envia(NaoDeveInvocarOEnvioItIsAny(Leilao.class)); }