Olá, quando vou executar os testes aparece essa mensagem de erro:
Alura\Leilao\Tests\Service\AvaliadorTest::testAvaliadorDeveBuscar3MaioresValores with data set #2 (Alura\Leilao\Model\Leilao Object (...))
TypeError: Argument 1 passed to Alura\Leilao\Service\Avaliador::Alura\Leilao\Service\{closure}() must be an instance of Alura\Leilao\Service\Lance, instance of Alura\Leilao\Model\Lance given
Meu teste está assim:
public function entregaLeiloes()
{
return [
[$this->leilaoEmOrdemCrescente()],
[$this->leilaoEmOrdemDecrescente()],
[$this->leilaoEmOrdemAleatoria()],
];
}
public function leilaoEmOrdemCrescente()
{
$leilao = new Leilao('Fiat 147 0km');
$maria = new Usuario('Maria');
$joao = new Usuario('Joao');
$ana = new Usuario('Ana');
$leilao->recebeLance(new Lance($ana, 1700));
$leilao->recebeLance(new Lance($joao, 2000));
$leilao->recebeLance(new Lance($maria, 2500));
return [
[$leilao]
];
}
E minha classe está assim:
class Leilao
{
/** @var Lance[] */
private $lances;
/** @var string */
private $descricao;
public function __construct(string $descricao)
{
$this->descricao = $descricao;
$this->lances = [];
}
public function recebeLance(Lance $lance)
{
$this->lances[] = $lance;
}
/**
* @return Lance[]
*/
public function getLances(): array
{
return $this->lances;
}
}