Esempio n. 1
0
 public GeradorDePagamento(LeilaoDaoFalso leilaoDao, Avaliador avaliador, PagamentoDao pagamentoDao)
 {
     this.LeilaoDao      = leilaoDao;
     this.Avaliador      = avaliador;
     this.PagamentoDao   = pagamentoDao;
     this.RelogioSystema = new RelogioDoSistema();
 }
 public GeradorDePagamento(LeilaoDaoFalso leilaoDao, Avaliador avaliador, PagamentoDao pagamentoDao)  
 {
     this.LeilaoDao = leilaoDao;
     this.Avaliador = avaliador;
     this.PagamentoDao = pagamentoDao;
     this.RelogioSystema = new RelogioDoSistema();
 }
Esempio n. 3
0
 public GeradorDePagamento(LeilaoDaoFalso leilaoDao, Avaliador avaliador, PagamentoDao pagamentoDao, Relogio relogioSystema)
 {
     this.LeilaoDao      = leilaoDao;
     this.Avaliador      = avaliador;
     this.PagamentoDao   = pagamentoDao;
     this.RelogioSystema = relogioSystema;
 }
        public void deveEmpurrarParaOProximoDiaUtil()
        {
            var leilaoDao = new Mock<LeilaoDaoFalso>();
            var avaliador = new Avaliador();
            var pagamentoDao = new Mock<PagamentoDao>();

            CriadorDeLeiloes criador = new CriadorDeLeiloes();

            List<Leilao> leiloes = new List<Leilao>();

            leiloes.Add(criador.Para("Bicicleta Ergometrica", new DateTime(2016, 01, 25))
                                .Lance(new Usuario("Sebastião"), 500d)
                                .Lance(new Usuario("Daniela"), 700d)
                                .Constroi()
                         );

            leilaoDao.Setup(l => l.encerrados()).Returns(leiloes);

            Pagamento pagamentoRetorno = null;

            pagamentoDao.Setup(p => p.Salva(It.IsAny<Pagamento>())).Callback<Pagamento>(r => pagamentoRetorno = r);

            GeradorDePagamento gerador = new GeradorDePagamento(leilaoDao.Object, avaliador, pagamentoDao.Object);

            gerador.Gera();

            Assert.AreEqual(DayOfWeek.Monday, pagamentoRetorno.Data.DayOfWeek);
        }
        public GeradorDePagamento( LeilaoDaoFalso leilaoDao,Avaliador avaliador,PagamentoDao pagamentoDao,Relogio relogioSystema)
        {
            this.LeilaoDao = leilaoDao;
            this.Avaliador = avaliador;
            this.PagamentoDao = pagamentoDao;
            this.RelogioSystema = relogioSystema;

        }
 public void CriarAvaliador()
 {
     this.leiloeiro = new Avaliador();
     Console.WriteLine("inicializando teste!");
     Usuarios = new List<Usuario>();
     Usuarios.Add(new Usuario("João"));
     Usuarios.Add(new Usuario("José"));
     Usuarios.Add(new Usuario("Maria"));
 }
        public void DeveGerarPagamentoParaLeilaoEncerrado()
        {
            var leilaoDao = new Mock<LeilaoDaoFalso>();
            //var avaliador = new Mock<Avaliador>();
            var avaliador = new Avaliador();
            var pagamentoDao = new Mock<PagamentoDao>();

            CriadorDeLeiloes criador = new CriadorDeLeiloes();

            List<Leilao> leiloes = new List<Leilao>();

            leiloes.Add( criador.Para("Bicicleta Ergometrica", new DateTime(2016, 01, 25))
                                .Lance(new Usuario("Sebastião"), 500d)
                                .Lance(new Usuario("Daniela"), 700d)
                                .Constroi()
                         );

            //aqui estou falando que quando for utilizado oo metodo encerrados 
            //da classe leilaoDao ele não faça o que esta definido em seu códigoo e sim que me retorne a lista de leiloes 
            leilaoDao.Setup(l => l.encerrados()).Returns(leiloes);

            //também estou subescrevendo o retorno do atributo maior lance.
            //avaliador.Setup(a => a.MaiorLance).Returns(700d);

            Pagamento pagamentoRetornoMock = null;

            //Defino que sempre que o método salva for invocado independente do pagamento que está sendo passado como parametro
            //ele me fação um "retorno" do objeto pagamento que está sendo passado como parametro
            //então st uma variável como sendo este pagamento que sera retornado.
            pagamentoDao.Setup(p => p.Salva(It.IsAny<Pagamento>())).Callback<Pagamento>(r => pagamentoRetornoMock = r);

            GeradorDePagamento gerador = new GeradorDePagamento(leilaoDao.Object,avaliador,pagamentoDao.Object);

            gerador.Gera();

            Assert.AreEqual(700d, pagamentoRetornoMock.Valor);

        }