BinaryOperator
extends Operator
in package
Tags
Table of Contents
- $constraints : array<string|int, Constraint>
- $exporter : Exporter|null
- arity() : int
- Returns the number of operands (constraints).
- count() : int
- Counts the number of constraint elements.
- evaluate() : bool|null
- Evaluates the constraint for parameter $other.
- fromConstraints() : self
- operator() : string
- Returns the name of this operator.
- precedence() : int
- Returns this operator's precedence.
- setConstraints() : void
- toString() : string
- Returns a string representation of the constraint.
- additionalFailureDescription() : string
- Return additional failure description where needed.
- checkConstraint() : Constraint
- Validates $constraint argument.
- constraintNeedsParentheses() : bool
- Returns true if the $constraint needs to be wrapped with braces.
- constraints() : array<string|int, mixed>
- Returns the nested constraints.
- exporter() : Exporter
- fail() : void
- Throws an exception for the given compared value and test description.
- failureDescription() : string
- Returns the description of the failure.
- failureDescriptionInContext() : string
- Returns the description of the failure when this constraint appears in context of an $operator expression.
- matches() : bool
- Evaluates the constraint for parameter $other. Returns true if the constraint is met, false otherwise.
- reduce() : Constraint
- Reduces the sub-expression starting at $this by skipping degenerate sub-expression and returns first descendant constraint that starts a non-reducible sub-expression.
- toStringInContext() : string
- Returns a custom string representation of the constraint object when it appears in context of an $operator expression.
- constraintToString() : string
- Returns string representation of given operand in context of this operator.
Properties
$constraints
private
array<string|int, Constraint>
$constraints
= []
$exporter
private
Exporter|null
$exporter
Methods
arity()
Returns the number of operands (constraints).
public
final arity() : int
Return values
int —count()
Counts the number of constraint elements.
public
count() : int
Return values
int —evaluate()
Evaluates the constraint for parameter $other.
public
evaluate(mixed $other[, string $description = '' ][, bool $returnResult = false ]) : bool|null
If $returnResult is set to false (the default), an exception is thrown in case of a failure. null is returned otherwise.
If $returnResult is true, the result of the evaluation is returned as a boolean value instead: true in case of success, false in case of a failure.
Parameters
- $other : mixed
- $description : string = ''
- $returnResult : bool = false
Tags
Return values
bool|null —fromConstraints()
public
static fromConstraints(Constraint ...$constraints) : self
Parameters
- $constraints : Constraint
Return values
self —operator()
Returns the name of this operator.
public
abstract operator() : string
Return values
string —precedence()
Returns this operator's precedence.
public
abstract precedence() : int
Tags
Return values
int —setConstraints()
public
setConstraints(array<string|int, mixed> $constraints) : void
Parameters
- $constraints : array<string|int, mixed>
Return values
void —toString()
Returns a string representation of the constraint.
public
toString() : string
Return values
string —additionalFailureDescription()
Return additional failure description where needed.
protected
additionalFailureDescription(mixed $other) : string
The function can be overridden to provide additional failure information like a diff
Parameters
- $other : mixed
-
evaluated value or object
Return values
string —checkConstraint()
Validates $constraint argument.
protected
checkConstraint(mixed $constraint) : Constraint
Parameters
- $constraint : mixed
Return values
Constraint —constraintNeedsParentheses()
Returns true if the $constraint needs to be wrapped with braces.
protected
final constraintNeedsParentheses(Constraint $constraint) : bool
Parameters
- $constraint : Constraint
Return values
bool —constraints()
Returns the nested constraints.
protected
final constraints() : array<string|int, mixed>
Return values
array<string|int, mixed> —exporter()
protected
exporter() : Exporter
Return values
Exporter —fail()
Throws an exception for the given compared value and test description.
protected
fail(mixed $other, string $description[, ComparisonFailure $comparisonFailure = null ]) : void
Parameters
- $other : mixed
-
evaluated value or object
- $description : string
-
Additional information about the test
- $comparisonFailure : ComparisonFailure = null
Tags
Return values
void —failureDescription()
Returns the description of the failure.
protected
failureDescription(mixed $other) : string
The beginning of failure messages is "Failed asserting that" in most cases. This method should return the second part of that sentence.
To provide additional failure information additionalFailureDescription can be used.
Parameters
- $other : mixed
-
evaluated value or object
Tags
Return values
string —failureDescriptionInContext()
Returns the description of the failure when this constraint appears in context of an $operator expression.
protected
failureDescriptionInContext(Operator $operator, mixed $role, mixed $other) : string
The purpose of this method is to provide meaningful failure description in context of operators such as LogicalNot. Native PHPUnit constraints are supported out of the box by LogicalNot, but externally developed ones had no way to provide correct messages in this context.
The method shall return empty string, when it does not handle customization by itself.
Parameters
- $operator : Operator
-
the $operator of the expression
- $role : mixed
-
role of $this constraint in the $operator expression
- $other : mixed
-
evaluated value or object
Return values
string —matches()
Evaluates the constraint for parameter $other. Returns true if the constraint is met, false otherwise.
protected
matches(mixed $other) : bool
This method can be overridden to implement the evaluation algorithm.
Parameters
- $other : mixed
-
value or object to evaluate
Tags
Return values
bool —reduce()
Reduces the sub-expression starting at $this by skipping degenerate sub-expression and returns first descendant constraint that starts a non-reducible sub-expression.
protected
reduce() : Constraint
See Constraint::reduce() for more.
Return values
Constraint —toStringInContext()
Returns a custom string representation of the constraint object when it appears in context of an $operator expression.
protected
toStringInContext(Operator $operator, mixed $role) : string
The purpose of this method is to provide meaningful descriptive string in context of operators such as LogicalNot. Native PHPUnit constraints are supported out of the box by LogicalNot, but externally developed ones had no way to provide correct strings in this context.
The method shall return empty string, when it does not handle customization by itself.
Parameters
- $operator : Operator
-
the $operator of the expression
- $role : mixed
-
role of $this constraint in the $operator expression
Return values
string —constraintToString()
Returns string representation of given operand in context of this operator.
private
constraintToString(Constraint $constraint, int $position) : string
Parameters
- $constraint : Constraint
-
operand constraint
- $position : int
-
position of $constraint in this expression