You are here

class PHPUnit_Framework_MockObject_MockBuilder in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php \PHPUnit_Framework_MockObject_MockBuilder

Implementation of the Builder pattern for Mock objects.

@since File available since Release 1.0.0

Hierarchy

Expanded class hierarchy of PHPUnit_Framework_MockObject_MockBuilder

File

vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php, line 16

View source
class PHPUnit_Framework_MockObject_MockBuilder {

  /**
   * @var PHPUnit_Framework_TestCase
   */
  private $testCase;

  /**
   * @var string
   */
  private $type;

  /**
   * @var array
   */
  private $methods = array();

  /**
   * @var string
   */
  private $mockClassName = '';

  /**
   * @var array
   */
  private $constructorArgs = array();

  /**
   * @var bool
   */
  private $originalConstructor = true;

  /**
   * @var bool
   */
  private $originalClone = true;

  /**
   * @var bool
   */
  private $autoload = true;

  /**
   * @var bool
   */
  private $cloneArguments = false;

  /**
   * @var bool
   */
  private $callOriginalMethods = false;

  /**
   * @var object
   */
  private $proxyTarget = null;

  /**
   * @param PHPUnit_Framework_TestCase $testCase
   * @param array|string               $type
   */
  public function __construct(PHPUnit_Framework_TestCase $testCase, $type) {
    $this->testCase = $testCase;
    $this->type = $type;
  }

  /**
   * Creates a mock object using a fluent interface.
   *
   * @return PHPUnit_Framework_MockObject_MockObject
   */
  public function getMock() {
    return $this->testCase
      ->getMock($this->type, $this->methods, $this->constructorArgs, $this->mockClassName, $this->originalConstructor, $this->originalClone, $this->autoload, $this->cloneArguments, $this->callOriginalMethods, $this->proxyTarget);
  }

  /**
   * Creates a mock object for an abstract class using a fluent interface.
   *
   * @return PHPUnit_Framework_MockObject_MockObject
   */
  public function getMockForAbstractClass() {
    return $this->testCase
      ->getMockForAbstractClass($this->type, $this->constructorArgs, $this->mockClassName, $this->originalConstructor, $this->originalClone, $this->autoload, $this->methods, $this->cloneArguments);
  }

  /**
   * Creates a mock object for a trait using a fluent interface.
   *
   * @return PHPUnit_Framework_MockObject_MockObject
   */
  public function getMockForTrait() {
    return $this->testCase
      ->getMockForTrait($this->type, $this->constructorArgs, $this->mockClassName, $this->originalConstructor, $this->originalClone, $this->autoload, $this->methods, $this->cloneArguments);
  }

  /**
   * Specifies the subset of methods to mock. Default is to mock all of them.
   *
   * @param  array|null                               $methods
   * @return PHPUnit_Framework_MockObject_MockBuilder
   */
  public function setMethods($methods) {
    $this->methods = $methods;
    return $this;
  }

  /**
   * Specifies the arguments for the constructor.
   *
   * @param  array                                    $args
   * @return PHPUnit_Framework_MockObject_MockBuilder
   */
  public function setConstructorArgs(array $args) {
    $this->constructorArgs = $args;
    return $this;
  }

  /**
   * Specifies the name for the mock class.
   *
   * @param  string                                   $name
   * @return PHPUnit_Framework_MockObject_MockBuilder
   */
  public function setMockClassName($name) {
    $this->mockClassName = $name;
    return $this;
  }

  /**
   * Disables the invocation of the original constructor.
   *
   * @return PHPUnit_Framework_MockObject_MockBuilder
   */
  public function disableOriginalConstructor() {
    $this->originalConstructor = false;
    return $this;
  }

  /**
   * Enables the invocation of the original constructor.
   *
   * @return PHPUnit_Framework_MockObject_MockBuilder
   * @since  Method available since Release 1.2.0
   */
  public function enableOriginalConstructor() {
    $this->originalConstructor = true;
    return $this;
  }

  /**
   * Disables the invocation of the original clone constructor.
   *
   * @return PHPUnit_Framework_MockObject_MockBuilder
   */
  public function disableOriginalClone() {
    $this->originalClone = false;
    return $this;
  }

  /**
   * Enables the invocation of the original clone constructor.
   *
   * @return PHPUnit_Framework_MockObject_MockBuilder
   * @since  Method available since Release 1.2.0
   */
  public function enableOriginalClone() {
    $this->originalClone = true;
    return $this;
  }

  /**
   * Disables the use of class autoloading while creating the mock object.
   *
   * @return PHPUnit_Framework_MockObject_MockBuilder
   */
  public function disableAutoload() {
    $this->autoload = false;
    return $this;
  }

  /**
   * Enables the use of class autoloading while creating the mock object.
   *
   * @return PHPUnit_Framework_MockObject_MockBuilder
   * @since  Method available since Release 1.2.0
   */
  public function enableAutoload() {
    $this->autoload = true;
    return $this;
  }

  /**
   * Disables the cloning of arguments passed to mocked methods.
   *
   * @return PHPUnit_Framework_MockObject_MockBuilder
   * @since  Method available since Release 1.2.0
   */
  public function disableArgumentCloning() {
    $this->cloneArguments = false;
    return $this;
  }

  /**
   * Enables the cloning of arguments passed to mocked methods.
   *
   * @return PHPUnit_Framework_MockObject_MockBuilder
   * @since  Method available since Release 1.2.0
   */
  public function enableArgumentCloning() {
    $this->cloneArguments = true;
    return $this;
  }

  /**
   * Enables the invocation of the original methods.
   *
   * @return PHPUnit_Framework_MockObject_MockBuilder
   * @since  Method available since Release 2.0.0
   */
  public function enableProxyingToOriginalMethods() {
    $this->callOriginalMethods = true;
    return $this;
  }

  /**
   * Disables the invocation of the original methods.
   *
   * @return PHPUnit_Framework_MockObject_MockBuilder
   * @since  Method available since Release 2.0.0
   */
  public function disableProxyingToOriginalMethods() {
    $this->callOriginalMethods = false;
    $this->proxyTarget = null;
    return $this;
  }

  /**
   * Sets the proxy target.
   *
   * @param  object                                   $object
   * @return PHPUnit_Framework_MockObject_MockBuilder
   * @since  Method available since Release 2.0.0
   */
  public function setProxyTarget($object) {
    $this->proxyTarget = $object;
    return $this;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PHPUnit_Framework_MockObject_MockBuilder::$autoload private property
PHPUnit_Framework_MockObject_MockBuilder::$callOriginalMethods private property
PHPUnit_Framework_MockObject_MockBuilder::$cloneArguments private property
PHPUnit_Framework_MockObject_MockBuilder::$constructorArgs private property
PHPUnit_Framework_MockObject_MockBuilder::$methods private property
PHPUnit_Framework_MockObject_MockBuilder::$mockClassName private property
PHPUnit_Framework_MockObject_MockBuilder::$originalClone private property
PHPUnit_Framework_MockObject_MockBuilder::$originalConstructor private property
PHPUnit_Framework_MockObject_MockBuilder::$proxyTarget private property
PHPUnit_Framework_MockObject_MockBuilder::$testCase private property
PHPUnit_Framework_MockObject_MockBuilder::$type private property
PHPUnit_Framework_MockObject_MockBuilder::disableArgumentCloning public function Disables the cloning of arguments passed to mocked methods.
PHPUnit_Framework_MockObject_MockBuilder::disableAutoload public function Disables the use of class autoloading while creating the mock object.
PHPUnit_Framework_MockObject_MockBuilder::disableOriginalClone public function Disables the invocation of the original clone constructor.
PHPUnit_Framework_MockObject_MockBuilder::disableOriginalConstructor public function Disables the invocation of the original constructor.
PHPUnit_Framework_MockObject_MockBuilder::disableProxyingToOriginalMethods public function Disables the invocation of the original methods.
PHPUnit_Framework_MockObject_MockBuilder::enableArgumentCloning public function Enables the cloning of arguments passed to mocked methods.
PHPUnit_Framework_MockObject_MockBuilder::enableAutoload public function Enables the use of class autoloading while creating the mock object.
PHPUnit_Framework_MockObject_MockBuilder::enableOriginalClone public function Enables the invocation of the original clone constructor.
PHPUnit_Framework_MockObject_MockBuilder::enableOriginalConstructor public function Enables the invocation of the original constructor.
PHPUnit_Framework_MockObject_MockBuilder::enableProxyingToOriginalMethods public function Enables the invocation of the original methods.
PHPUnit_Framework_MockObject_MockBuilder::getMock public function Creates a mock object using a fluent interface.
PHPUnit_Framework_MockObject_MockBuilder::getMockForAbstractClass public function Creates a mock object for an abstract class using a fluent interface.
PHPUnit_Framework_MockObject_MockBuilder::getMockForTrait public function Creates a mock object for a trait using a fluent interface.
PHPUnit_Framework_MockObject_MockBuilder::setConstructorArgs public function Specifies the arguments for the constructor.
PHPUnit_Framework_MockObject_MockBuilder::setMethods public function Specifies the subset of methods to mock. Default is to mock all of them.
PHPUnit_Framework_MockObject_MockBuilder::setMockClassName public function Specifies the name for the mock class.
PHPUnit_Framework_MockObject_MockBuilder::setProxyTarget public function Sets the proxy target.
PHPUnit_Framework_MockObject_MockBuilder::__construct public function