You are here

ComparisonFailure.php in Zircon Profile 8

Same filename and directory in other branches
  1. 8.0 vendor/sebastian/comparator/src/ComparisonFailure.php

File

vendor/sebastian/comparator/src/ComparisonFailure.php
View source
<?php

/*
 * This file is part of the Comparator package.
 *
 * (c) Sebastian Bergmann <sebastian@phpunit.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace SebastianBergmann\Comparator;

use SebastianBergmann\Diff\Differ;

/**
 * Thrown when an assertion for string equality failed.
 */
class ComparisonFailure extends \RuntimeException {

  /**
   * Expected value of the retrieval which does not match $actual.
   * @var mixed
   */
  protected $expected;

  /**
   * Actually retrieved value which does not match $expected.
   * @var mixed
   */
  protected $actual;

  /**
   * The string representation of the expected value
   * @var string
   */
  protected $expectedAsString;

  /**
   * The string representation of the actual value
   * @var string
   */
  protected $actualAsString;

  /**
   * @var bool
   */
  protected $identical;

  /**
   * Optional message which is placed in front of the first line
   * returned by toString().
   * @var string
   */
  protected $message;

  /**
   * Initialises with the expected value and the actual value.
   *
   * @param mixed  $expected         Expected value retrieved.
   * @param mixed  $actual           Actual value retrieved.
   * @param string $expectedAsString
   * @param string $actualAsString
   * @param bool   $identical
   * @param string $message          A string which is prefixed on all returned lines
   *                                 in the difference output.
   */
  public function __construct($expected, $actual, $expectedAsString, $actualAsString, $identical = false, $message = '') {
    $this->expected = $expected;
    $this->actual = $actual;
    $this->expectedAsString = $expectedAsString;
    $this->actualAsString = $actualAsString;
    $this->message = $message;
  }

  /**
   * @return mixed
   */
  public function getActual() {
    return $this->actual;
  }

  /**
   * @return mixed
   */
  public function getExpected() {
    return $this->expected;
  }

  /**
   * @return string
   */
  public function getActualAsString() {
    return $this->actualAsString;
  }

  /**
   * @return string
   */
  public function getExpectedAsString() {
    return $this->expectedAsString;
  }

  /**
   * @return string
   */
  public function getDiff() {
    if (!$this->actualAsString && !$this->expectedAsString) {
      return '';
    }
    $differ = new Differ("\n--- Expected\n+++ Actual\n");
    return $differ
      ->diff($this->expectedAsString, $this->actualAsString);
  }

  /**
   * @return string
   */
  public function toString() {
    return $this->message . $this
      ->getDiff();
  }

}

Classes

Namesort descending Description
ComparisonFailure Thrown when an assertion for string equality failed.