/** * {@inheritdoc} * @param string * @return boolean * */ public function isValid($suspicious) { # certifica-se do param ser composto apenas de digitos if (FALSE == parent::isValid($suspicious)) { return FALSE; } # certifica-se de que param nao seja formado apenas de numero repetidos if ($suspicious == str_repeat($suspicious[0], 11)) { return FALSE; } # a primeira chamada ao checkDigit verifica o primeiro digito verificador # que se por sua vez for avaliado como TRUE invocará novamente o mesmo metodo # para verificar o segundo digito return self::_checkDigit($suspicious, 9, 10) ? self::_checkDigit($suspicious, 10, 11) ? TRUE : FALSE : FALSE; }
/** * @dataProvider providerForInvalidDigits * @expectedException Respect\Validation\Exceptions\DigitsException */ public function test_invalid_digits_should_fail_and_throw_DigitsException($invalidDigits, $aditional = '') { $validator = new Digits($aditional); $this->assertFalse($validator->validate($invalidDigits)); $this->assertFalse($validator->assert($invalidDigits)); }