You are here

class PHPUnit_Framework_Constraint_Not in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/phpunit/phpunit/src/Framework/Constraint/Not.php \PHPUnit_Framework_Constraint_Not

Logical NOT.

@since Class available since Release 3.0.0

Hierarchy

Expanded class hierarchy of PHPUnit_Framework_Constraint_Not

2 string references to 'PHPUnit_Framework_Constraint_Not'
PHPUnit_Framework_Constraint_Not::failureDescription in vendor/phpunit/phpunit/src/Framework/Constraint/Not.php
Returns the description of the failure
PHPUnit_Framework_Constraint_Not::toString in vendor/phpunit/phpunit/src/Framework/Constraint/Not.php
Returns a string representation of the constraint.

File

vendor/phpunit/phpunit/src/Framework/Constraint/Not.php, line 16

View source
class PHPUnit_Framework_Constraint_Not extends PHPUnit_Framework_Constraint {

  /**
   * @var PHPUnit_Framework_Constraint
   */
  protected $constraint;

  /**
   * @param PHPUnit_Framework_Constraint $constraint
   */
  public function __construct($constraint) {
    parent::__construct();
    if (!$constraint instanceof PHPUnit_Framework_Constraint) {
      $constraint = new PHPUnit_Framework_Constraint_IsEqual($constraint);
    }
    $this->constraint = $constraint;
  }

  /**
   * @param  string $string
   * @return string
   */
  public static function negate($string) {
    return str_replace(array(
      'contains ',
      'exists',
      'has ',
      'is ',
      'are ',
      'matches ',
      'starts with ',
      'ends with ',
      'reference ',
      'not not ',
    ), array(
      'does not contain ',
      'does not exist',
      'does not have ',
      'is not ',
      'are not ',
      'does not match ',
      'starts not with ',
      'ends not with ',
      'don\'t reference ',
      'not ',
    ), $string);
  }

  /**
   * 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) {
    $success = !$this->constraint
      ->evaluate($other, $description, true);
    if ($returnResult) {
      return $success;
    }
    if (!$success) {
      $this
        ->fail($other, $description);
    }
  }

  /**
   * Returns the description of the failure
   *
   * The beginning of failure messages is "Failed asserting that" in most
   * cases. This method should return the second part of that sentence.
   *
   * @param  mixed  $other Evaluated value or object.
   * @return string
   */
  protected function failureDescription($other) {
    switch (get_class($this->constraint)) {
      case 'PHPUnit_Framework_Constraint_And':
      case 'PHPUnit_Framework_Constraint_Not':
      case 'PHPUnit_Framework_Constraint_Or':
        return 'not( ' . $this->constraint
          ->failureDescription($other) . ' )';
      default:
        return self::negate($this->constraint
          ->failureDescription($other));
    }
  }

  /**
   * Returns a string representation of the constraint.
   *
   * @return string
   */
  public function toString() {
    switch (get_class($this->constraint)) {
      case 'PHPUnit_Framework_Constraint_And':
      case 'PHPUnit_Framework_Constraint_Not':
      case 'PHPUnit_Framework_Constraint_Or':
        return 'not( ' . $this->constraint
          ->toString() . ' )';
      default:
        return self::negate($this->constraint
          ->toString());
    }
  }

  /**
   * Counts the number of constraint elements.
   *
   * @return int
   * @since  Method available since Release 3.4.0
   */
  public function count() {
    return count($this->constraint);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PHPUnit_Framework_Constraint::$exporter protected property
PHPUnit_Framework_Constraint::additionalFailureDescription protected function Return additional failure description where needed 1
PHPUnit_Framework_Constraint::fail protected function Throws an exception for the given compared value and test description
PHPUnit_Framework_Constraint::matches protected function Evaluates the constraint for parameter $other. Returns true if the constraint is met, false otherwise. 25
PHPUnit_Framework_Constraint_Not::$constraint protected property
PHPUnit_Framework_Constraint_Not::count public function Counts the number of constraint elements. Overrides PHPUnit_Framework_Constraint::count
PHPUnit_Framework_Constraint_Not::evaluate public function Evaluates the constraint for parameter $other Overrides PHPUnit_Framework_Constraint::evaluate
PHPUnit_Framework_Constraint_Not::failureDescription protected function Returns the description of the failure Overrides PHPUnit_Framework_Constraint::failureDescription
PHPUnit_Framework_Constraint_Not::negate public static function
PHPUnit_Framework_Constraint_Not::toString public function Returns a string representation of the constraint. Overrides PHPUnit_Framework_SelfDescribing::toString
PHPUnit_Framework_Constraint_Not::__construct public function Overrides PHPUnit_Framework_Constraint::__construct