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.
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:
mixed
PHPUnit_Framework_ExpectationFailedException
Overrides PHPUnit_Framework_Constraint::evaluate
public function evaluate($other, $description = '', $returnResult = FALSE) {
if (is_double($this->value) && is_double($other) && !is_infinite($this->value) && !is_infinite($other) && !is_nan($this->value) && !is_nan($other)) {
$success = abs($this->value - $other) < self::EPSILON;
}
else {
$success = $this->value === $other;
}
if ($returnResult) {
return $success;
}
if (!$success) {
$f = NULL;
// if both values are strings, make sure a diff is generated
if (is_string($this->value) && is_string($other)) {
$f = new PHPUnit_Framework_ComparisonFailure($this->value, $other, $this->value, $other);
}
$this
->fail($other, $description, $f);
}
}