Esempio n. 1
0
 public function testNaoDeveDobrarCasoNaoHajaLanceAnterior()
 {
     $leilao = new Leilao("Macbook Pro 15");
     $steveJobs = new Usuario("Steve Jobs");
     $leilao->dobraLance($steveJobs);
     $this->assertEquals(0, count($leilao->getLances()));
 }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
 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());
 }
Esempio n. 5
0
 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());
 }