Menu

## Count extends Constraint
in package

Count.php : 27

##### Tags

no-named-arguments

  Parameter names are not covered by the backward compatibility promise for PHPUnit

### Table of Contents

$expectedCount : int
$exporter : Exporter|null
__construct() : mixed
count() : int
  Counts the number of constraint elements.
evaluate() : bool|null
  Evaluates the constraint for parameter $other.
toString() : string
additionalFailureDescription() : string
  Return additional failure description where needed.
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.
getCountOf() : int|null
getCountOfGenerator() : int
  Returns the total number of iterations from a generator.
matches() : bool
  Evaluates the constraint for parameter $other. Returns true if the constraint is met, false otherwise.
reduce() : self
  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.

### Properties

#### $expectedCount

Count.php : 32
`private int $expectedCount`

#### $exporter

Constraint.php : 27
`private Exporter|null $exporter`

### Methods

#### __construct()

Count.php : 34
`public __construct(int $expected) : mixed`

##### Parameters

$expected : int

##### Return values

mixed —

#### count()

Constraint.php : 64

Counts the number of constraint elements.

`public count() : int`

##### Return values

int —

#### evaluate()

Constraint.php : 42

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

throws
  InvalidArgumentException
throws
  ExpectationFailedException

##### Return values

bool|null —

#### toString()

Count.php : 39
`public toString() : string`

##### Return values

string —

#### additionalFailureDescription()

Constraint.php : 135

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 —

#### exporter()

Constraint.php : 69
`protected exporter() : Exporter`

##### Return values

Exporter —

#### fail()

Constraint.php : 104

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

throws
  InvalidArgumentException
throws
  ExpectationFailedException
psalm-return

  never-return

##### Return values

void —

#### failureDescription()

Count.php : 134

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.

##### Parameters

$other : mixed

  evaluated value or object

##### Return values

string —

#### failureDescriptionInContext()

Constraint.php : 194

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 failue 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 —

#### getCountOf()

Count.php : 61
`protected getCountOf(mixed $other) : int|null`

##### Parameters

$other : mixed

##### Tags

throws
  Exception

##### Return values

int|null —

#### getCountOfGenerator()

Count.php : 117

Returns the total number of iterations from a generator.

`protected getCountOfGenerator(Generator $generator) : int`

This will fully exhaust the generator.

##### Parameters

$generator : Generator

##### Return values

int —

#### matches()

Count.php : 53

Evaluates the constraint for parameter $other. Returns true if the constraint is met, false otherwise.

`protected matches(mixed $other) : bool`

##### Parameters

$other : mixed

  value or object to evaluate

##### Tags

throws
  Exception

##### Return values

bool —

#### reduce()

Constraint.php : 265

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() : self`

Returns $this for terminal constraints and for operators that start non-reducible sub-expression, or the nearest descendant of $this that starts a non-reducible sub-expression.

A constraint expression may be modelled as a tree with non-terminal nodes (operators) and terminal nodes. For example:

     LogicalOr           (operator, non-terminal)
     + LogicalAnd        (operator, non-terminal)
     | + IsType('int')   (terminal)
     | + GreaterThan(10) (terminal)
     + LogicalNot        (operator, non-terminal)
       + IsType('array') (terminal)

A degenerate sub-expression is a part of the tree, that effectively does not contribute to the evaluation of the expression it appears in. An example of degenerate sub-expression is a BinaryOperator constructed with single operand or nested BinaryOperators, each with single operand. An expression involving a degenerate sub-expression is equivalent to a reduced expression with the degenerate sub-expression removed, for example

     LogicalAnd          (operator)
     + LogicalOr         (degenerate operator)
     | + LogicalAnd      (degenerate operator)
     |   + IsType('int') (terminal)
     + GreaterThan(10)   (terminal)

is equivalent to

     LogicalAnd          (operator)
     + IsType('int')     (terminal)
     + GreaterThan(10)   (terminal)

because the subexpression

     + LogicalOr
       + LogicalAnd
         + -

is degenerate. Calling reduce() on the LogicalOr object above, as well as on LogicalAnd, shall return the IsType('int') instance.

Other specific reductions can be implemented, for example cascade of LogicalNot operators

     + LogicalNot
       + LogicalNot
         +LogicalNot
          + IsTrue

can be reduced to

     LogicalNot
     + IsTrue

##### Return values

self —

#### toStringInContext()

Constraint.php : 173

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 —

## Search results