コード例 #1
0
 private function getProvisionalAdjustment(Elo $eloOpponent, $result)
 {
     if ($result === 0.5) {
         $addition = 0;
     } else {
         $addition = ($eloOpponent->isProvisional() ? 200 : 400) * $result;
     }
     return $addition;
 }
コード例 #2
0
ファイル: EloTest.php プロジェクト: manishkhanchandani/mkgxy
 /**
  * @test
  */
 public function shouldDetermineEloForNonProvisional()
 {
     // given
     $player = $this->getUserWithNonProvisionalElo();
     // when
     $elo = new Elo($player->getId(), 1);
     $elo->setElo(1400);
     $elo->commit();
     // then
     $this->assertFalse($elo->isProvisional());
     $opponent = $this->getUserWithElo(1100);
     $this->assertEquals(1400, $player->getElo(1));
     $this->assertEquals(1100, $opponent->getElo(1));
     $eloSetter = new EloSetter(1);
     $eloSetter->registerResult($player, $opponent, 1);
     // then
     $elo = new Elo($player->getId(), 1);
     $this->assertEquals(1405, $elo->getElo());
     // when
     $player = $this->getUserWithNonProvisionalElo(1548);
     $eloSetter = new EloSetter(1);
     $eloSetter->registerResult($player, $this->getUserWithElo(1212), 1);
     $pl = new Player($player->getId());
     // then
     $this->assertEquals(1552, $pl->getElo(1));
 }