Example #1
0
 /**
  * @param Fixture[] $fixtures
  *
  * @return Scorer[]
  */
 public function getScorer($fixtures)
 {
     $scorerManager = new ScorerManager();
     foreach ($fixtures as $fixture) {
         foreach ($fixture->getGoalEvents() as $event) {
             $scorer = $scorerManager->addAndGetByPlayer($event->getPlayer());
             $scorer->incrementGoals();
         }
     }
     return $scorerManager->getAllOrdered();
 }
 public function testAddAndGetByPlayer()
 {
     $scorerManager = new ScorerManager();
     $player1 = new Player();
     $player1->setId(1);
     $scorer = $scorerManager->addAndGetByPlayer($player1);
     $this->assertEquals($player1, $scorer->getPlayer());
     $player2 = new Player();
     $player2->setId(2);
     $scorer = $scorerManager->addAndGetByPlayer($player2);
     $this->assertEquals($player2, $scorer->getPlayer());
     $scorer = $scorerManager->addAndGetByPlayer($player1);
     $this->assertEquals($player1, $scorer->getPlayer());
 }