class ArgumentsWildcard in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php \Prophecy\Argument\ArgumentsWildcard
Arguments wildcarding.
@author Konstantin Kudryashov <ever.zet@gmail.com>
Hierarchy
- class \Prophecy\Argument\ArgumentsWildcard
Expanded class hierarchy of ArgumentsWildcard
5 files declare their use of ArgumentsWildcard
- CallCenter.php in vendor/
phpspec/ prophecy/ src/ Prophecy/ Call/ CallCenter.php - CallCenterSpec.php in vendor/
phpspec/ prophecy/ spec/ Prophecy/ Call/ CallCenterSpec.php - CallPrediction.php in vendor/
phpspec/ prophecy/ src/ Prophecy/ Prediction/ CallPrediction.php - CallTimesPrediction.php in vendor/
phpspec/ prophecy/ src/ Prophecy/ Prediction/ CallTimesPrediction.php - ObjectProphecy.php in vendor/
phpspec/ prophecy/ src/ Prophecy/ Prophecy/ ObjectProphecy.php
File
- vendor/
phpspec/ prophecy/ src/ Prophecy/ Argument/ ArgumentsWildcard.php, line 19
Namespace
Prophecy\ArgumentView source
class ArgumentsWildcard {
/**
* @var Token\TokenInterface[]
*/
private $tokens = array();
private $string;
/**
* Initializes wildcard.
*
* @param array $arguments Array of argument tokens or values
*/
public function __construct(array $arguments) {
foreach ($arguments as $argument) {
if (!$argument instanceof Token\TokenInterface) {
$argument = new Token\ExactValueToken($argument);
}
$this->tokens[] = $argument;
}
}
/**
* Calculates wildcard match score for provided arguments.
*
* @param array $arguments
*
* @return false|int False OR integer score (higher - better)
*/
public function scoreArguments(array $arguments) {
if (0 == count($arguments) && 0 == count($this->tokens)) {
return 1;
}
$arguments = array_values($arguments);
$totalScore = 0;
foreach ($this->tokens as $i => $token) {
$argument = isset($arguments[$i]) ? $arguments[$i] : null;
if (1 >= ($score = $token
->scoreArgument($argument))) {
return false;
}
$totalScore += $score;
if (true === $token
->isLast()) {
return $totalScore;
}
}
if (count($arguments) > count($this->tokens)) {
return false;
}
return $totalScore;
}
/**
* Returns string representation for wildcard.
*
* @return string
*/
public function __toString() {
if (null === $this->string) {
$this->string = implode(', ', array_map(function ($token) {
return (string) $token;
}, $this->tokens));
}
return $this->string;
}
/**
* @return array
*/
public function getTokens() {
return $this->tokens;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ArgumentsWildcard:: |
private | property | ||
ArgumentsWildcard:: |
private | property | ||
ArgumentsWildcard:: |
public | function | ||
ArgumentsWildcard:: |
public | function | Calculates wildcard match score for provided arguments. | |
ArgumentsWildcard:: |
public | function | Initializes wildcard. | |
ArgumentsWildcard:: |
public | function | Returns string representation for wildcard. |