public function PHPUnit_Framework_Constraint_Xor::evaluate

Evaluates the constraint for parameter $other

If $returnResult is set to FALSE (the default), an exception is thrown in case of a failure. NULL is returned otherwise.

If $returnResult is TRUE, the result of the evaluation is returned as a boolean value instead: TRUE in case of success, FALSE in case of a failure.

Parameters

mixed $other Value or object to evaluate.:

string $description Additional information about the test:

bool $returnResult Whether to return a result or throw an exception:

Return value

mixed

Throws

PHPUnit_Framework_ExpectationFailedException

Overrides PHPUnit_Framework_Constraint::evaluate

File

drupal/core/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/Xor.php, line 100

Class

PHPUnit_Framework_Constraint_Xor
Logical XOR.

Code

public function evaluate($other, $description = '', $returnResult = FALSE) {
  $success = TRUE;
  $lastResult = NULL;
  $constraint = NULL;
  foreach ($this->constraints as $constraint) {
    $result = $constraint
      ->evaluate($other, $description, TRUE);
    if ($result === $lastResult) {
      $success = FALSE;
      break;
    }
    $lastResult = $result;
  }
  if ($returnResult) {
    return $success;
  }
  if (!$success) {
    $this
      ->fail($other, $description);
  }
}