%PDF- %PDF-
Direktori : /home/silvzytp/calling_code/vendor/mockery/mockery/library/Mockery/ |
Current File : //home/silvzytp/calling_code/vendor/mockery/mockery/library/Mockery/CompositeExpectation.php |
<?php /** * Mockery * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://github.com/padraic/mockery/blob/master/LICENSE * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to padraic@php.net so we can send you a copy immediately. * * @category Mockery * @package Mockery * @copyright Copyright (c) 2010 Pádraic Brady (http://blog.astrumfutura.com) * @license http://github.com/padraic/mockery/blob/master/LICENSE New BSD License */ namespace Mockery; class CompositeExpectation implements ExpectationInterface { /** * Stores an array of all expectations for this composite * * @var array */ protected $_expectations = array(); /** * Add an expectation to the composite * * @param \Mockery\Expectation|\Mockery\CompositeExpectation $expectation * @return void */ public function add($expectation) { $this->_expectations[] = $expectation; } /** * @param mixed ...$args */ public function andReturn(...$args) { return $this->__call(__FUNCTION__, $args); } /** * Set a return value, or sequential queue of return values * * @param mixed ...$args * @return self */ public function andReturns(...$args) { return call_user_func_array([$this, 'andReturn'], $args); } /** * Intercept any expectation calls and direct against all expectations * * @param string $method * @param array $args * @return self */ public function __call($method, array $args) { foreach ($this->_expectations as $expectation) { call_user_func_array(array($expectation, $method), $args); } return $this; } /** * Return order number of the first expectation * * @return int */ public function getOrderNumber() { reset($this->_expectations); $first = current($this->_expectations); return $first->getOrderNumber(); } /** * Return the parent mock of the first expectation * * @return \Mockery\MockInterface|\Mockery\LegacyMockInterface */ public function getMock() { reset($this->_expectations); $first = current($this->_expectations); return $first->getMock(); } /** * Mockery API alias to getMock * * @return \Mockery\LegacyMockInterface|\Mockery\MockInterface */ public function mock() { return $this->getMock(); } /** * Starts a new expectation addition on the first mock which is the primary * target outside of a demeter chain * * @param mixed ...$args * @return \Mockery\Expectation */ public function shouldReceive(...$args) { reset($this->_expectations); $first = current($this->_expectations); return call_user_func_array(array($first->getMock(), 'shouldReceive'), $args); } /** * Starts a new expectation addition on the first mock which is the primary * target outside of a demeter chain * * @param mixed ...$args * @return \Mockery\Expectation */ public function shouldNotReceive(...$args) { reset($this->_expectations); $first = current($this->_expectations); return call_user_func_array(array($first->getMock(), 'shouldNotReceive'), $args); } /** * Return the string summary of this composite expectation * * @return string */ public function __toString() { $return = '['; $parts = array(); foreach ($this->_expectations as $exp) { $parts[] = (string) $exp; } $return .= implode(', ', $parts) . ']'; return $return; } }