/**
  * Creates a new {@link LightInstruction}, verifying the action is valid and exactly two
  * coordinates have been given.
  *
  * @param int $action {@link LightInstructionAction}
  * @param Coordinate[] $coordinatePair two coordinates
  * @return LightInstruction
  * @throws \InvalidArgumentException
  */
 public static function create($action, array $coordinatePair)
 {
     v::oneOf(v::equals(LightInstructionAction::TURN_ON), v::equals(LightInstructionAction::TURN_OFF), v::equals(LightInstructionAction::TOGGLE))->check($action);
     v::length(2, 2)->check($coordinatePair);
     v::each(v::instance('\\Hamdrew\\AdventOfCode\\Day6\\Coordinate'))->check($coordinatePair);
     return new LightInstruction($action, $coordinatePair);
 }
Ejemplo n.º 2
0
 public function providerForInvalidNot()
 {
     return [[new IntVal(), 123], [new AllOf(new OneOf(new NumericVal(), new IntVal())), 13.37], [new OneOf(new NumericVal(), new IntVal()), 13.37], [Validator::oneOf(Validator::numericVal(), Validator::intVal()), 13.37]];
 }
Ejemplo n.º 3
0
 private function validate()
 {
     try {
         $validator = v::attribute('merchantAlias', v::stringType()->alnum('_')->noWhitespace()->length(1, 30))->attribute('macKey', v::stringType()->length(1))->attribute('transactionCode', v::stringType()->alnum()->noWhitespace()->length(1, 30))->attribute('requestType', v::oneOf(v::stringType()->equals(self::REQUEST_TYPE_FIRST_ATTEMPT), v::stringType()->equals(self::REQUEST_TYPE_RETRY_ATTEMPT)))->attribute('operationId', v::stringType()->digit()->noWhitespace()->length(1, 10))->attribute('operationType', v::oneOf(v::stringType()->equals(self::OPERATION_TYPE_CAPTURE), v::stringType()->equals(self::OPERATION_TYPE_VOID)))->attribute('originalAmount', v::stringType()->digit()->noWhitespace()->length(9, 9))->attribute('currency', v::stringType()->alnum()->noWhitespace()->length(3, 3))->attribute('authCode', v::stringType()->alnum()->noWhitespace()->length(1, 10))->attribute('operationAmount', v::stringType()->digit()->noWhitespace()->length(9, 9))->attribute('user', v::optional(v::stringType()->alnum()->length(0, 20)))->attribute('isTest', v::boolType());
         $validator->assert($this);
     } catch (NestedValidationException $e) {
         throw new ValidationException($e->getFullMessage());
     }
 }
Ejemplo n.º 4
0
 public function providerForInvalidNot()
 {
     return array(array(new IntVal(), 123), array(new AllOf(new OneOf(new Numeric(), new IntVal())), 13.37), array(new OneOf(new Numeric(), new IntVal()), 13.37), array(Validator::oneOf(Validator::numeric(), Validator::intVal()), 13.37));
 }
Ejemplo n.º 5
0
 public static function max($details, $value)
 {
     return RespectValidator::oneOf(RespectValidator::int()->max((int) $details), RespectValidator::int()->equals((int) $details))->validate($value);
 }
Ejemplo n.º 6
0
 protected function getValidationRules()
 {
     v::with('app\\Models\\Validation\\');
     return [v::attribute('provider', v::oneOf(v::instance('app\\Models\\Provider'))), v::attribute('carrier', v::oneOf(v::instance('app\\Models\\Carrier'))), v::attribute('name', v::notEmpty()->length(3, 100)->alpha()->UniqueProviderName()), v::attribute('symbol', v::notEmpty()->length(3, 100)->UniqueProviderSymbol()), v::attribute('routeTransaction', v::instance('app\\Models\\RouteTransaction')), v::attribute('statusId', v::notEmpty()->int()->positive()), v::attribute('createdAt', v::notEmpty()->date()), v::attribute('expiresAt', v::notEmpty()->date())];
 }