/**
  * Returns a Status representing the given validation result.
  *
  * @param Result $result
  *
  * @return Status
  */
 public function getResultStatus(Result $result)
 {
     $status = Status::newGood();
     $status->setResult($result->isValid());
     foreach ($result->getErrors() as $error) {
         $msg = $this->getErrorMessage($error);
         $status->fatal($msg);
     }
     return $status;
 }
 /**
  * @param Result $result
  * @param Error[] $expectedErrors
  */
 protected function assertResult(Result $result, array $expectedErrors)
 {
     $this->assertEquals(empty($expectedErrors), $result->isValid(), 'isValid()');
     $errors = $result->getErrors();
     $this->assertSameSize($expectedErrors, $errors, 'Number of errors:');
     foreach ($expectedErrors as $i => $expectedError) {
         $error = $errors[$i];
         $this->assertEquals($expectedError->getCode(), $error->getCode(), 'Error code:');
         $this->assertEquals($expectedError->getParameters(), $error->getParameters(), 'Error parameters:');
         $this->assertInstanceOf('Wikibase\\Repo\\Validators\\UniquenessViolation', $error);
         $this->assertEquals($expectedError->getConflictingEntity(), $error->getConflictingEntity());
     }
 }