Quando eu executo o teste ele nem da o mesmo erro que o seu e dps que eu mudo o $lance1 para $lance2 e vice e versa mas o erro continua dando o mesmo erro.
public function avalia(Leilao $leilao): void
{
foreach ($leilao->getLances() as $lance) {
if ($lance->getValor() > $this->maiorValor){
$this->maiorValor = $lance->getValor();
}
if ($lance->getValor() < $this->menorValor){
$this->menorValor = $lance->getValor();
}
}
$lances = $leilao->getLances();
usort($lances, function (Lance $lance1, Lance $lance2) {
return $lance2->getValor() - $lance1->getValor();
});
$this->maioresLances = array_slice($lances, 0, 3);
}
// Avaliador Test
public function testAvaliadorDeveBuscar3MarioresValores()
{
$leiao = new Leilao('Corsa capotado');
$joao = new Usuario('João');
$maria = new Usuario('Maria');
$ana = new Usuario('Ana');
$jorge = new Usuario('Jorge');
$leiao->recebeLance(new Lance($joao, 1500));
$leiao->recebeLance(new Lance($ana, 1000));
$leiao->recebeLance(new Lance($maria, 2000));
$leiao->recebeLance(new Lance($jorge, 1700));
$leiloeiro = new Avaliador();
$leiloeiro->avalia($leiao);
$maiores = $leiloeiro->getMaioresLances();
static::assertCount(3, $maiores);
static::assertEquals(2000, $maiores[0]->getValor);
static::assertEquals(1700, $maiores[1]->getValor);
static::assertEquals(1500, $maiores[2]->getValor);
}
O erro é este
1) Alura\Leilao\Tests\Service\AvaliadorTest::testAvaliadorDeveBuscar3MarioresValores
Undefined property: Alura\Leilao\Model\Lance::$getValor
C:\xampp\htdocs\ativadeumTest\tests\Service\AvaliadorTest.php:130