Ejemplo n.º 1
0
 public function testFromPourcentage()
 {
     $score = Score::fromPourcentage(33.33);
     $this->assertEquals(33.33, $score->toPourcentage());
     $this->assertNull($score->toVoix());
 }
Ejemplo n.º 2
0
 /**
  * Mettre à jour le pourcentage de voix d'un candidat par rapport au nombre
  * de suffrages exprimés sur un territoire donné, ou par défaut sur la
  * circonscription de l'élection. Si le nombre de suffrages exprimés est
  * déjà réglé dans l'élection, le nombre de voix est mis à jour
  * automatiquement. Sinon, pourcentage et voix sont effacés et remplacés
  * par cette donnée.
  *
  * @param float              $pourcentage Le nombre de voix du candidat.
  * @param CandidatInterface  $candidat    Le candidat dont il s'agit.
  * @param AbstractTerritoire $territoire  Le territoire du score.
  */
 public function setPourcentageCandidat($pourcentage, CandidatInterface $candidat, AbstractTerritoire $territoire = null)
 {
     if (!in_array($candidat, $this->getCandidats(), true)) {
         throw new \Exception('Le candidat doit déjà participer à l\'élection' . 'avant d\'avoir un score');
     }
     if (null === $territoire) {
         $territoire = $this->circonscription;
     }
     $voteInfo = $this->getVoteInfo($territoire);
     if ($voteInfo) {
         $exprimes = $voteInfo->getExprimes();
     }
     if (isset($exprimes)) {
         $score = Score::fromPourcentageAndExprimes($pourcentage, $exprimes);
     } else {
         $score = Score::fromPourcentage($pourcentage);
     }
     $scoreAssignment = $this->getScoreAssignmentCandidat($candidat, $territoire);
     $scoreAssignment->setScoreVO($score);
 }