/** * Adds a vote to the given numbered option * * @param integer $option_number * @throws InvalidOptionNumber */ public function vote($option_number) { $option_number = (int) $option_number; $validator = new OptionNumberValidator($this->options); if (!$validator->isSatisfiedBy($option_number)) { throw new InvalidOptionNumber($option_number); } $this->apply(new OptionVotedEvent($this->id, $option_number)); }
/** * @test * @group unit */ public function existing_option_index_returns_true() { $validator = new OptionNumberValidator(array('One', 'Two', 'Three')); $this->assertTrue($validator->isSatisfiedBy(2)); }