/** * 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. * * @param mixed $other Value or object to evaluate. * @param string $description Additional information about the test * @param bool $returnResult Whether to return a result or throw an exception * @return mixed * @throws PHPUnit_Framework_ExpectationFailedException */ public function evaluate($other, $description = '', $returnResult = false) { $comparatorFactory = PHPUnit_Framework_ComparatorFactory::getDefaultInstance(); try { $comparator = $comparatorFactory->getComparatorFor($other, $this->value); $comparator->assertEquals($this->value, $other, $this->delta, $this->canonicalize, $this->ignoreCase); } catch (PHPUnit_Framework_ComparisonFailure $f) { if ($returnResult) { return false; } throw new PHPUnit_Framework_ExpectationFailedException(trim($description . "\n" . $f->getMessage()), $f); } return true; }
/** * Returns the default instance. * * @return PHPUnit_Framework_ComparatorFactory */ public static function getDefaultInstance() { if (self::$defaultInstance === NULL) { self::$defaultInstance = new PHPUnit_Framework_ComparatorFactory(); } return self::$defaultInstance; }
public function testUnregister() { $comparator = new TestClassComparator(); $factory = new PHPUnit_Framework_ComparatorFactory(); $factory->register($comparator); $factory->unregister($comparator); $a = new TestClass(); $b = new TestClass(); $expected = 'PHPUnit_Framework_Comparator_Object'; if (get_class($factory->getComparatorFor($a, $b)) != $expected) { var_dump(get_class($factory->getComparatorFor($a, $b))); $this->fail(); } }
static function setUpBeforeClass() { \PHPUnit_Framework_ComparatorFactory::getDefaultInstance()->register(new \Tests\Testing\Comparator_ArrayEnumerable()); }