public function testNaoDeveDobrarCasoNaoHajaLanceAnterior() { $leilao = new Leilao("Macbook Pro 15"); $steveJobs = new Usuario("Steve Jobs"); $leilao->dobraLance($steveJobs); $this->assertEquals(0, count($leilao->getLances())); }
public function pegaOsMaioresNo(Leilao $leilao) { $lances = $leilao->getLances(); usort($lances, function ($a, $b) { if ($a->getValor() == $b->getValor()) { return 0; } return $a->getValor() < $b->getValor() ? 1 : -1; }); $this->maiores = array_slice($lances, 0, 3); }
public function avalia(Leilao $leilao) { foreach ($leilao->getLances() as $lance) { if ($lance->getValor() > $this->maiorValor) { $this->maiorValor = $lance->getValor(); } else { if ($lance->getValor() < $this->menorValor) { $this->menorValor = $lance->getValor(); } } } }
public function testeDeveAceitarLancesEmOrdemDecrescente() { $leilao = new Leilao("Playstation 4"); $renan = new Usuario("Renan"); $caio = new Usuario("Caio"); $felipe = new Usuario("Felipe"); $leilao->propoe(new Lance($renan, 400)); $leilao->propoe(new Lance($caio, 350)); $leilao->propoe(new Lance($felipe, 250)); $leiloeiro = new Avaliador(); $leiloeiro->avalia($leilao); $maiorEsperado = 400; $menorEsperado = 250; $this->assertEquals($maiorEsperado, $leiloeiro->getMaiorLance()); $this->assertEquals($menorEsperado, $leiloeiro->getMenorLance()); }
public function testDobraLanceAnteriorComCincoLances() { $leilao = new Leilao("Macbook Pro 15"); $steveJobs = new Usuario("Steve Jobs"); $steveWoz = new Usuario("Steve Wozniak"); $leilao->propoe(new Lance($steveJobs, 2000)); $leilao->propoe(new Lance($steveWoz, 3000)); $leilao->propoe(new Lance($steveJobs, 4000)); $leilao->propoe(new Lance($steveWoz, 5000)); $leilao->propoe(new Lance($steveJobs, 6000)); $leilao->propoe(new Lance($steveWoz, 7000)); $leilao->propoe(new Lance($steveJobs, 8000)); $leilao->propoe(new Lance($steveWoz, 9000)); $leilao->propoe(new Lance($steveJobs, 10000)); $leilao->propoe(new Lance($steveWoz, 11000)); $leilao->dobraLance($steveJobs); $this->assertEquals(10, count($leilao->getLances())); $ultimo = count($leilao->getLances()) - 1; $ultimoLance = $leilao->getLances()[$ultimo]; $this->assertEquals(11000, $ultimoLance->getValor()); }