Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Resolvido erro chamando dao no construtor do EncerradorDeLeilao

No classe EncerradorDeLeilao eu tive que usar

private RepositorioDeLeiloes dao;

ao invés de

private LeilaoDaoFalso dao;

Desse jeito foi possível bindar o dao no this e os testes funcionaram, ficou assim:

public class EncerradorDeLeilao
    {
        private RepositorioDeLeiloes dao;

        public int total { get; private set; }

        public EncerradorDeLeilao(RepositorioDeLeiloes dao)
        {
            this.dao = dao;
            total = 0;
        }

        public virtual void encerra()
        {
            //LeilaoDaoFalso dao = new LeilaoDaoFalso();
            List<Leilao> todosLeiloesCorrentes = dao.correntes();

            foreach (var l in todosLeiloesCorrentes)
            {

                if (comecouSemanaPassada(l))
                {

                    l.encerra();
                    total++;
                    dao.atualiza(l);

                }
            }
        }


        private bool comecouSemanaPassada(Leilao leilao)
        {

            return diasEntre(leilao.data, DateTime.Now) >= 7;

        }

        private int diasEntre(DateTime inicio, DateTime fim)
        {
            int dias = (int)(fim - inicio).TotalDays;

            return dias;
        }

    }
1 resposta
solução!

Olá Ricardo,

sim, para fazer uso da interface precisa trocar o tipo no atributo também. Vou fazer o ajuste no exercício, obrigado pelo feedback.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software