private function getKFactor(Elo $elo) { if ($elo->getElo() > 2400) { return 16; } if ($elo->getElo() >= 2100) { return 24; } return 32; }
/** * @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)); }
public function getElo($category) { $elo = new Elo($this->getId(), $category); return $elo->getElo(); }