class PHPUnit_Framework_MockObject_MockBuilder in Zircon Profile 8
Same name and namespace in other branches
- 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;
}
}