/**
  * @test
  */
 public function runFailedFieldValidation()
 {
     $bad_key = 'bad_comment';
     $good_key = 'comment';
     $data = [$bad_key => '<alert>The number 3</alert>', $good_key => '<h1>Heres a valid-enough comment</h1>'];
     $validator = new ValidatorService($data);
     $validator->setRule($bad_key, 'Bad comment', 'required|integer')->setRule($good_key, 'Good Comment', 'required|maxLength[800]');
     $this->assertFalse($validator->run());
     $this->assertTrue($validator->isFieldFailed($bad_key));
     $this->assertFalse($validator->isFieldFailed($good_key));
     $messages = $validator->getAllFieldErrorMessages();
     $failed_fields = $validator->getFailedFields();
     $this->assertArrayHasKey($bad_key, $messages);
     $this->assertContains($bad_key, $failed_fields);
     $this->assertArrayNotHasKey($good_key, $messages);
     $this->assertArrayNotHasKey($good_key, $failed_fields);
 }