/**
  * Test rule.
  *
  * @param string $name            Rule name.
  * @param array  $parameters      Rule parameters.
  * @param mixed  $input           Rule input.
  * @param string $expectedMessage Rule result expected message.
  * @param null   $expectedData    Rule result expected data.
  */
 public function testRule($name, $parameters, $input, $expectedMessage, $expectedData)
 {
     $fieldRule = new ValidationFieldRule($name, $parameters);
     $validation = $fieldRule->validate($input);
     static::assertInstanceOf(Result::class, $validation);
     static::assertSame($expectedMessage === 'success', $validation->isSuccess());
     static::assertSame($expectedMessage, $validation->getMessage());
     static::assertSame($expectedData ?: [], $validation->getData());
 }
 /**
  * Test validate method.
  * @covers Rentalhost\VanillaValidation\ValidationFieldRule::validate
  */
 public function testValidate()
 {
     $fieldRule = new ValidationFieldRule('required');
     static::assertTrue($fieldRule->validate('hello')->isSuccess());
     static::assertFalse($fieldRule->validate('')->isSuccess());
 }
 /**
  * Test action.
  *
  * @param string $name           Action name.
  * @param array  $parameters     Action parameters.
  * @param mixed  $input          Action input.
  * @param mixed  $expectedReturn Action return value.
  */
 public function testAction($name, $parameters, $input, $expectedReturn)
 {
     $fieldRule = new ValidationFieldRule($name, $parameters);
     static::assertSame($expectedReturn, $fieldRule->validate($input));
 }