Ejemplo n.º 1
0
 /**
  * @param \GameDomain\Round\Step\Answer $playerAnswer
  * @param int                           $number
  *
  * @return bool
  */
 public final function isSatisfiedBy(Answer $playerAnswer, $number)
 {
     try {
         return $playerAnswer->isSameAs($this->generateValidAnswer($number));
     } catch (IrrelevantRuleException $exception) {
         return false;
     }
 }
Ejemplo n.º 2
0
 /**
  * @dataProvider getStepResults
  *
  * @param \GameDomain\Player\PlayerInterface $player
  * @param \GameDomain\Round\Step\Answer      $playerAnswer
  * @param \GameDomain\Round\Step\Answer      $validAnswer
  * @param \GameDomain\Round\Step\Step        $step
  * @param string                             $expectedStringRepresentation
  */
 public function testIsValid(PlayerInterface $player, Answer $playerAnswer, Answer $validAnswer, Step $step, $expectedStringRepresentation)
 {
     $stepResult = new StepResult($player, $playerAnswer, $validAnswer, $step);
     // Tests for methods having logic
     $this->assertEquals($playerAnswer->isSameAs($validAnswer), $stepResult->isValid());
     $this->assertEquals($expectedStringRepresentation, (string) $stepResult);
     // Tests for getters
     $this->assertInstanceOf('\\GameDomain\\Player\\PlayerInterface', $stepResult->getPlayer());
     $this->assertInstanceOf('\\GameDomain\\Round\\Step\\Step', $stepResult->getStep());
     $this->assertInstanceOf('\\GameDomain\\Round\\Step\\Answer', $stepResult->getPlayerAnswer());
     $this->assertInstanceOf('\\GameDomain\\Round\\Step\\Answer', $stepResult->getValidAnswer());
 }
Ejemplo n.º 3
0
 /**
  * @return bool
  */
 public function isValid()
 {
     return $this->playerAnswer->isSameAs($this->validAnswer);
 }