/**
  * @param int $value
  * @param int $preferredSkill
  * @param int $moneyBehaviour
  * @param int $money
  * @param int $playerDefense
  * @param int $playerOffense
  */
 private function assertCalculateBuyEquals($value, $preferredSkill, $moneyBehaviour, $money, $playerDefense, $playerOffense)
 {
     $manager = $this->createManager($preferredSkill, $moneyBehaviour, $money);
     $calculator = new ScoreCalculator($manager);
     $player = $this->createPlayer($playerDefense, $playerOffense);
     $this->assertEquals($value, $calculator->calculateBuyScore($player));
 }
示例#2
0
 /**
  * @param Player[] $playersToInvestigate
  *
  * @return null|Player
  */
 public function selectBestFittingPlayer(array $playersToInvestigate)
 {
     $pickedPlayer = null;
     $bestScore = 0;
     foreach ($playersToInvestigate as $player) {
         if ($player->hasTeam() && $player->getTeam()->equals($this->team)) {
             continue;
         }
         $score = $this->transferScoreCalculator->calculateBuyScore($player);
         if ($score > $bestScore) {
             $pickedPlayer = $player;
             $bestScore = $score;
         }
     }
     return $pickedPlayer;
 }