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 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 DeveEncerrarOsLEiloesESalvarNoDao() { var diaDaSemanaPassada = new DateTime(1999, 5, 5); var leilao1 = new Leilao("Tv de plasma"); leilao1.naData(diaDaSemanaPassada); var leilao2 = new Leilao("Playstation"); leilao2.naData(diaDaSemanaPassada); var ListaDeLeioloes = new List <Leilao> { leilao1, leilao2 }; var dao = new Mock <IRepositorioDeLeiloes>(); dao.Setup(d => d.correntes()) .Returns(ListaDeLeioloes); var carteiro = new Mock <ICarteiro>(); var encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.encerra(); dao.Verify(v => v.atualiza(leilao1), Times.Once); dao.Verify(v => v.atualiza(leilao2), Times.Once); }
public void NaoDeveEnviarEmailCasoTodasChamadasDoAtualizaLancemExcecoes() { var diaDaSemanaPassada = new DateTime(1999, 5, 5); var leilao1 = new Leilao("Tv de plasma"); leilao1.naData(diaDaSemanaPassada); var leilao2 = new Leilao("Playstation"); leilao2.naData(diaDaSemanaPassada); var leilao3 = new Leilao("Playstation"); leilao3.naData(diaDaSemanaPassada); var ListaDeLeioloes = new List <Leilao> { leilao1, leilao2, leilao3 }; var dao = new Mock <LeilaoDaoFalso>(); dao.Setup(d => d.correntes()).Returns(ListaDeLeioloes); dao.Setup(d => d.atualiza(It.IsAny <Leilao>())).Throws(new Exception()); var carteiro = new Mock <ICarteiro>(); var encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.encerra(); carteiro.Verify(c => c.envia(It.IsAny <Leilao>()), Times.Never); }
public void NaoDeveEncerrarLeilaoQueComecouHoje() { var diaDaSemanaPassada = DateTime.Now; var leilao = new Leilao("Tv de plasma"); leilao.naData(diaDaSemanaPassada); var ListaDeLeioloes = new List <Leilao> { leilao }; var daoFalso = new Mock <IRepositorioDeLeiloes>(); daoFalso.Setup(metodo => metodo.correntes()) .Returns(ListaDeLeioloes); var carteiro = new Mock <ICarteiro>(); var encerrador = new EncerradorDeLeilao(daoFalso.Object, carteiro.Object); encerrador.encerra(); Assert.AreEqual(0, encerrador.total); Assert.IsFalse(leilao.encerrado); }
public void DeveEncerrarLeiloesQueComecaramAUmaSemana() { DateTime diaDaSemanaPassada = new DateTime(1999, 5, 5); var leilao1 = new Leilao("Tv de plasma"); leilao1.naData(diaDaSemanaPassada); var leilao2 = new Leilao("Playstation"); leilao2.naData(diaDaSemanaPassada); var ListaDeLeioloes = new List <Leilao> { leilao1, leilao2 }; var dao = new Mock <IRepositorioDeLeiloes>(); dao.Setup(d => d.correntes()) .Returns(ListaDeLeioloes); var carteiro = new Mock <ICarteiro>(); var encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.encerra(); Assert.AreEqual(2, encerrador.total); Assert.IsTrue(leilao1.encerrado); Assert.IsTrue(leilao2.encerrado); }
public void DeveContinuarMesmoQuandoLancaExcecaoNoCarteiro() { var diaDaSemanaPassada = new DateTime(1999, 5, 5); var leilao1 = new Leilao("Tv de plasma"); leilao1.naData(diaDaSemanaPassada); var leilao2 = new Leilao("Playstation"); leilao2.naData(diaDaSemanaPassada); var ListaDeLeioloes = new List <Leilao> { leilao1, leilao2 }; var dao = new Mock <LeilaoDaoFalso>(); dao.Setup(d => d.correntes()).Returns(ListaDeLeioloes); var carteiro = new Mock <ICarteiro>(); carteiro.Setup(c => c.envia(leilao1)).Throws(new Exception()); var encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.encerra(); dao.Verify(d => d.atualiza(leilao2), Times.Once); carteiro.Verify(c => c.envia(leilao2), Times.Once); }
public void DeveJogarParaOProximoDiaUtilCasoDomingo() { var leilaoDao = new Mock <LeilaoDaoFalso>(); var avaliador = new Avaliador(); var pagamentoDao = new Mock <IPagamentoDao>(); var relogio = new Mock <IRelogio>(); relogio.Setup(r => r.hoje()).Returns(new DateTime(2018, 3, 11)); var leilao1 = new Leilao("Playstation"); leilao1.naData(new DateTime(1999, 5, 5)); leilao1.propoe(new Lance(new Usuario("renan"), 500)); leilao1.propoe(new Lance(new Usuario("Felipe"), 600)); var listaDeLeiloes = new List <Leilao> { leilao1 }; leilaoDao.Setup(l => l.encerrados()).Returns(listaDeLeiloes); Pagamento pagamentoCapturado = null; pagamentoDao.Setup(p => p.Salvar(It.IsAny <Pagamento>())).Callback <Pagamento>(c => pagamentoCapturado = c); var gerador = new GeradorDePagamento(leilaoDao.Object, avaliador, pagamentoDao.Object, relogio.Object); gerador.gera(); Assert.AreEqual(DayOfWeek.Monday, pagamentoCapturado.data.DayOfWeek); }
public void DeveGerarPagamentoParaLeilaoEncerrado() { var leilaoDao = new Mock <LeilaoDaoFalso>(); var avaliador = new Avaliador(); var pagamentoDao = new Mock <IPagamentoDao>(); var leilao1 = new Leilao("Playstation"); leilao1.naData(new DateTime(1999, 5, 5)); leilao1.propoe(new Lance(new Usuario("renan"), 500)); leilao1.propoe(new Lance(new Usuario("Felipe"), 600)); var listaDeLeiloes = new List <Leilao> { leilao1 }; leilaoDao.Setup(l => l.encerrados()).Returns(listaDeLeiloes); Pagamento pagamentoCapturado = null; pagamentoDao.Setup(p => p.Salvar(It.IsAny <Pagamento>())).Callback <Pagamento>(c => pagamentoCapturado = c); var gerador = new GeradorDePagamento(leilaoDao.Object, avaliador, pagamentoDao.Object); gerador.gera(); Assert.AreEqual(600, pagamentoCapturado.valor); }
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 Should_lunch_for_next_util_day_if_tody_is_sunday() { //Given var leilaoDao = new Mock <LeilaoDaoFalso>(); var pagaemntoDao = new Mock <PagamentoDao>(); var relogio = new Mock <Relogio>(); Leilao leilao1 = new Leilao("Playstation"); leilao1.naData(new DateTime(1999, 5, 5)); //When leilao1.propoe(new Lance(new Usuario("Renan"), 500)); leilao1.propoe(new Lance(new Usuario("Felipe"), 600)); List <Leilao> listaDeLeiloes = new List <Leilao>(); listaDeLeiloes.Add(leilao1); relogio.Setup(r => r.Hoje()) .Returns(new DateTime(2017, 2, 19)); leilaoDao.Setup(l => l.Encerrados()) .Returns(listaDeLeiloes); Pagamento pagamentoCapiturado = null; pagaemntoDao.Setup(p => p.Salvar(It.IsAny <Pagamento>())) .Callback <Pagamento>(r => pagamentoCapiturado = r); GeradorDePagamento gerador = new GeradorDePagamento(leilaoDao.Object, new Avaliador(), pagaemntoDao.Object, relogio.Object); gerador.Gera(); //Then Assert.Equal(DayOfWeek.Sunday, relogio.Object.Hoje().DayOfWeek); Assert.Equal(DayOfWeek.Monday, pagamentoCapiturado.data.DayOfWeek); }
public void Should_generator_payment_for_throw_fineshed() { //Given var leilaoDao = new Mock <LeilaoDaoFalso>(); var avaliador = new Mock <Avaliador>(); var pagaemntoDao = new Mock <PagamentoDao>(); Leilao leilao1 = new Leilao("Playstation"); leilao1.naData(new DateTime(1999, 5, 5)); //When leilao1.propoe(new Lance(new Usuario("Renan"), 500)); leilao1.propoe(new Lance(new Usuario("Felipe"), 600)); List <Leilao> listaDeLeiloes = new List <Leilao>(); listaDeLeiloes.Add(leilao1); leilaoDao.Setup(l => l.Encerrados()) .Returns(listaDeLeiloes); avaliador.Setup(a => a.maiorValor) .Returns(600); Pagamento pagemntoCapturado = null; pagaemntoDao.Setup(p => p.Salvar(It.IsAny <Pagamento>())) .Callback <Pagamento>(r => pagemntoCapturado = r); GeradorDePagamento gerador = new GeradorDePagamento(leilaoDao.Object, new Avaliador(), pagaemntoDao.Object); gerador.Gera(); //Then Assert.NotNull(pagemntoCapturado); Assert.Equal(600, pagemntoCapturado.valor); }
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 NaoDeveAtualizaOsLeiloesEncerrados() { DateTime data = DateTime.Now; Leilao leilao1 = new Leilao("Tv 20 polegadas"); leilao1.naData(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 <ICarteiro>(); var encerrador = new EncerradorDeLeilao(dao.Object, carteiro.Object); encerrador.encerra(); dao.Verify(v => v.atualiza(leilao1), Times.Never); }