PHP Class Eloquent\Phony\Call\CallVerifier

Inheritance: extends Eloquent\Phony\Verification\AbstractCardinalityVerifier, implements Eloquent\Phony\Call\Call
Show file Open project: eloquent/phony

Public Methods

Method Description
__construct ( Eloquent\Phony\Call\Call $call, MatcherFactory $matcherFactory, MatcherVerifier $matcherVerifier, GeneratorVerifierFactory $generatorVerifierFactory, IterableVerifierFactory $iterableVerifierFactory, Eloquent\Phony\Assertion\AssertionRecorder $assertionRecorder, AssertionRenderer $assertionRenderer ) Construct a new call verifier.
addIterableEvent ( Eloquent\Phony\Call\Event\IterableEvent $iterableEvent ) Add an iterable event.
allCalls ( ) : array Get all calls as an array.
allEvents ( ) : array Get all events as an array.
argument ( integer $index ) : mixed Get an argument by index.
argumentCount ( ) : integer Get the number of arguments.
arguments ( ) : Arguments Get the received arguments.
callAt ( integer $index ) : Eloquent\Phony\Call\Call Get a call by index.
callCount ( ) : integer Get the number of calls.
callback ( ) : callable Get the callback.
calledEvent ( ) : CalledEvent Get the 'called' event.
calledWith ( ) : Eloquent\Phony\Event\EventCollection Throws an exception unless called with the supplied arguments.
checkCalledWith ( ) : Eloquent\Phony\Event\EventCollection | null Checks if called with the supplied arguments.
checkCompleted ( ) : Eloquent\Phony\Event\EventCollection | null Checks if this call completed.
checkGenerated ( ) : GeneratorVerifier | null Checks if this call returned a generator.
checkIterated ( ) : IterableVerifier | null Checks if this call returned an iterable.
checkResponded ( ) : Eloquent\Phony\Event\EventCollection | null Checks if this call responded.
checkReturned ( mixed $value = null ) : Eloquent\Phony\Event\EventCollection | null Checks if this call returned the supplied value.
checkThrew ( Eloquent\Phony\Matcher\Matcher | Exceptio\Exception | Erro\Error | string | null $type = null ) : Eloquent\Phony\Event\EventCollection | null Checks if an exception of the supplied type was thrown.
completed ( ) : Eloquent\Phony\Event\EventCollection Throws an exception unless this call completed.
count ( ) : integer Get the event count.
duration ( ) : float | null Get the call duration.
endEvent ( ) : Eloquent\Phony\Call\Event\EndEvent | null Get the end event.
endTime ( ) : float | null Get the time at which the call completed.
eventAt ( integer $index ) : Eloquent\Phony\Event\Event Get an event by index.
eventCount ( ) : integer Get the number of events.
exception ( ) : Exceptio\Exception | Erro\Error Get the thrown exception.
firstCall ( ) : Eloquent\Phony\Call\Call Get the first call.
firstEvent ( ) : Eloquent\Phony\Event\Event Get the first event.
generated ( ) : GeneratorVerifier Throws an exception unless this call returned a generator.
generatorException ( ) : Exceptio\Exception | Erro\Error Get the exception thrown from the generator.
generatorResponse ( ) : tuple\null Get the response from the generator.
generatorReturnValue ( ) : mixed Get the value returned from the generator.
getIterator ( ) : Iterator Get an iterator for this collection.
hasCalls ( ) : boolean Returns true if this collection contains any calls.
hasCompleted ( ) : boolean Returns true if this call has completed.
hasEvents ( ) : boolean Returns true if this collection contains any events.
hasResponded ( ) : boolean Returns true if this call has responded.
index ( ) : integer Get the call index.
isGenerator ( ) : boolean Returns true if this call has responded with a generator.
isIterable ( ) : boolean Returns true if this call has responded with an iterable.
iterableEvents ( ) : array Get the iterable events.
iterated ( ) : IterableVerifier Throws an exception unless this call returned an iterable.
lastCall ( ) : Eloquent\Phony\Call\Call Get the last call.
lastEvent ( ) : Eloquent\Phony\Event\Event Get the last event.
responded ( ) : Eloquent\Phony\Event\EventCollection Throws an exception unless this call responded.
response ( ) : tuple\null Get the response.
responseDuration ( ) : float | null Get the call response duration.
responseEvent ( ) : Eloquent\Phony\Call\Event\ResponseEvent | null Get the response event.
responseTime ( ) : float | null Get the time at which the call responded.
returnValue ( ) : mixed Get the returned value.
returned ( mixed $value = null ) : Eloquent\Phony\Event\EventCollection Throws an exception unless this call returned the supplied value.
sequenceNumber ( ) : integer Get the sequence number.
setEndEvent ( Eloquent\Phony\Call\Event\EndEvent $endEvent ) Set the end event.
setResponseEvent ( Eloquent\Phony\Call\Event\ResponseEvent $responseEvent ) Set the response event.
threw ( Eloquent\Phony\Matcher\Matcher | Exceptio\Exception | Erro\Error | string | null $type = null ) : Eloquent\Phony\Event\EventCollection Throws an exception unless this call threw an exception of the supplied type.
time ( ) : float Get the time at which the event occurred.

Private Methods

Method Description
matchIf ( $event, $checkResult )

Method Details

__construct() public method

Construct a new call verifier.
public __construct ( Eloquent\Phony\Call\Call $call, MatcherFactory $matcherFactory, MatcherVerifier $matcherVerifier, GeneratorVerifierFactory $generatorVerifierFactory, IterableVerifierFactory $iterableVerifierFactory, Eloquent\Phony\Assertion\AssertionRecorder $assertionRecorder, AssertionRenderer $assertionRenderer )
$call Eloquent\Phony\Call\Call The call.
$matcherFactory Eloquent\Phony\Matcher\MatcherFactory The matcher factory to use.
$matcherVerifier Eloquent\Phony\Matcher\MatcherVerifier The matcher verifier to use.
$generatorVerifierFactory Eloquent\Phony\Verification\GeneratorVerifierFactory The generator verifier factory to use.
$iterableVerifierFactory Eloquent\Phony\Verification\IterableVerifierFactory The iterable verifier factory to use.
$assertionRecorder Eloquent\Phony\Assertion\AssertionRecorder The assertion recorder to use.
$assertionRenderer Eloquent\Phony\Assertion\AssertionRenderer The assertion renderer to use.

addIterableEvent() public method

Add an iterable event.
public addIterableEvent ( Eloquent\Phony\Call\Event\IterableEvent $iterableEvent )
$iterableEvent Eloquent\Phony\Call\Event\IterableEvent The iterable event.

allCalls() public method

Get all calls as an array.
public allCalls ( ) : array
return array

allEvents() public method

Get all events as an array.
public allEvents ( ) : array
return array

argument() public method

Negative indices are offset from the end of the list. That is, -1 indicates the last element, and -2 indicates the second last element.
public argument ( integer $index ) : mixed
$index integer The index.
return mixed The argument.

argumentCount() public method

Get the number of arguments.
public argumentCount ( ) : integer
return integer The number of arguments.

arguments() public method

Get the received arguments.
public arguments ( ) : Arguments
return Arguments The received arguments.

callAt() public method

Negative indices are offset from the end of the list. That is, -1 indicates the last element, and -2 indicates the second last element.
public callAt ( integer $index ) : Eloquent\Phony\Call\Call
$index integer The index.
return Eloquent\Phony\Call\Call The call.

callCount() public method

Get the number of calls.
public callCount ( ) : integer
return integer The call count.

callback() public method

Get the callback.
public callback ( ) : callable
return callable The callback.

calledEvent() public method

Get the 'called' event.
public calledEvent ( ) : CalledEvent
return Eloquent\Phony\Call\Event\CalledEvent The 'called' event.

calledWith() public method

Throws an exception unless called with the supplied arguments.
public calledWith ( ) : Eloquent\Phony\Event\EventCollection
return Eloquent\Phony\Event\EventCollection The result.

checkCalledWith() public method

Checks if called with the supplied arguments.
public checkCalledWith ( ) : Eloquent\Phony\Event\EventCollection | null
return Eloquent\Phony\Event\EventCollection | null The result.

checkCompleted() public method

Checks if this call completed.
public checkCompleted ( ) : Eloquent\Phony\Event\EventCollection | null
return Eloquent\Phony\Event\EventCollection | null The result.

checkGenerated() public method

Checks if this call returned a generator.
public checkGenerated ( ) : GeneratorVerifier | null
return Eloquent\Phony\Verification\GeneratorVerifier | null The result.

checkIterated() public method

Checks if this call returned an iterable.
public checkIterated ( ) : IterableVerifier | null
return Eloquent\Phony\Verification\IterableVerifier | null The result.

checkResponded() public method

Checks if this call responded.
public checkResponded ( ) : Eloquent\Phony\Event\EventCollection | null
return Eloquent\Phony\Event\EventCollection | null The result.

checkReturned() public method

When called with no arguments, this method simply checks that the call returned any value.
public checkReturned ( mixed $value = null ) : Eloquent\Phony\Event\EventCollection | null
$value mixed The value.
return Eloquent\Phony\Event\EventCollection | null The result.

checkThrew() public method

Checks if an exception of the supplied type was thrown.
public checkThrew ( Eloquent\Phony\Matcher\Matcher | Exceptio\Exception | Erro\Error | string | null $type = null ) : Eloquent\Phony\Event\EventCollection | null
$type Eloquent\Phony\Matcher\Matcher | Exceptio\Exception | Erro\Error | string | null An exception to match, the type of exception, or null for any exception.
return Eloquent\Phony\Event\EventCollection | null The result.

completed() public method

Throws an exception unless this call completed.
public completed ( ) : Eloquent\Phony\Event\EventCollection
return Eloquent\Phony\Event\EventCollection The result.

count() public method

Get the event count.
public count ( ) : integer
return integer The event count.

duration() public method

Get the call duration.
public duration ( ) : float | null
return float | null The call duration in seconds, or null if the call has not yet completed.

endEvent() public method

Get the end event.
public endEvent ( ) : Eloquent\Phony\Call\Event\EndEvent | null
return Eloquent\Phony\Call\Event\EndEvent | null The end event, or null if the call has not yet completed.

endTime() public method

When generator spies are in use, a call that returns a generator will not be considered complete until the generator has been completely consumed via iteration. Similarly, when iterable spies are in use, a call that returns an iterable will not be considered complete until the iterable has been completely consumed via iteration.
public endTime ( ) : float | null
return float | null The time at which the call completed, in seconds since the Unix epoch, or null if the call has not yet completed.

eventAt() public method

Negative indices are offset from the end of the list. That is, -1 indicates the last element, and -2 indicates the second last element.
public eventAt ( integer $index ) : Eloquent\Phony\Event\Event
$index integer The index.
return Eloquent\Phony\Event\Event The event.

eventCount() public method

Get the number of events.
public eventCount ( ) : integer
return integer The event count.

exception() public method

Get the thrown exception.
public exception ( ) : Exceptio\Exception | Erro\Error
return Exceptio\Exception | Erro\Error The thrown exception.

firstCall() public method

Get the first call.
public firstCall ( ) : Eloquent\Phony\Call\Call
return Eloquent\Phony\Call\Call The call.

firstEvent() public method

Get the first event.
public firstEvent ( ) : Eloquent\Phony\Event\Event
return Eloquent\Phony\Event\Event The event.

generated() public method

Throws an exception unless this call returned a generator.
public generated ( ) : GeneratorVerifier
return Eloquent\Phony\Verification\GeneratorVerifier The result.

generatorException() public method

Get the exception thrown from the generator.
public generatorException ( ) : Exceptio\Exception | Erro\Error
return Exceptio\Exception | Erro\Error The thrown exception.

generatorResponse() public method

Get the response from the generator.
public generatorResponse ( ) : tuple\null
return tuple\null

generatorReturnValue() public method

Get the value returned from the generator.
public generatorReturnValue ( ) : mixed
return mixed The returned value.

getIterator() public method

Get an iterator for this collection.
public getIterator ( ) : Iterator
return Iterator The iterator.

hasCalls() public method

Returns true if this collection contains any calls.
public hasCalls ( ) : boolean
return boolean True if this collection contains any calls.

hasCompleted() public method

When generator spies are in use, a call that returns a generator will not be considered complete until the generator has been completely consumed via iteration. Similarly, when iterable spies are in use, a call that returns an iterable will not be considered complete until the iterable has been completely consumed via iteration.
public hasCompleted ( ) : boolean
return boolean True if this call has completed.

hasEvents() public method

Returns true if this collection contains any events.
public hasEvents ( ) : boolean
return boolean True if this collection contains any events.

hasResponded() public method

A call that has responded has returned a value, or thrown an exception.
public hasResponded ( ) : boolean
return boolean True if this call has responded.

index() public method

This number tracks the order of this call with respect to other calls made against the same spy.
public index ( ) : integer
return integer The index.

isGenerator() public method

Returns true if this call has responded with a generator.
public isGenerator ( ) : boolean
return boolean True if this call has responded with a generator.

isIterable() public method

Returns true if this call has responded with an iterable.
public isIterable ( ) : boolean
return boolean True if this call has responded with an iterable.

iterableEvents() public method

Get the iterable events.
public iterableEvents ( ) : array
return array

iterated() public method

Throws an exception unless this call returned an iterable.
public iterated ( ) : IterableVerifier
return Eloquent\Phony\Verification\IterableVerifier The result.

lastCall() public method

Get the last call.
public lastCall ( ) : Eloquent\Phony\Call\Call
return Eloquent\Phony\Call\Call The call.

lastEvent() public method

Get the last event.
public lastEvent ( ) : Eloquent\Phony\Event\Event
return Eloquent\Phony\Event\Event The event.

responded() public method

Throws an exception unless this call responded.
public responded ( ) : Eloquent\Phony\Event\EventCollection
return Eloquent\Phony\Event\EventCollection The result.

response() public method

Get the response.
public response ( ) : tuple\null
return tuple\null

responseDuration() public method

Get the call response duration.
public responseDuration ( ) : float | null
return float | null The call response duration in seconds, or null if the call has not yet responded.

responseEvent() public method

Get the response event.
public responseEvent ( ) : Eloquent\Phony\Call\Event\ResponseEvent | null
return Eloquent\Phony\Call\Event\ResponseEvent | null The response event, or null if the call has not yet responded.

responseTime() public method

A call that has responded has returned a value, or thrown an exception.
public responseTime ( ) : float | null
return float | null The time at which the call responded, in seconds since the Unix epoch, or null if the call has not yet responded.

returnValue() public method

Get the returned value.
public returnValue ( ) : mixed
return mixed The returned value.

returned() public method

When called with no arguments, this method simply checks that the call returned any value.
public returned ( mixed $value = null ) : Eloquent\Phony\Event\EventCollection
$value mixed The value.
return Eloquent\Phony\Event\EventCollection The result.

sequenceNumber() public method

The sequence number is a unique number assigned to every event that Phony records. The numbers are assigned sequentially, meaning that sequence numbers can be used to determine event order.
public sequenceNumber ( ) : integer
return integer The sequence number.

setEndEvent() public method

Set the end event.
public setEndEvent ( Eloquent\Phony\Call\Event\EndEvent $endEvent )
$endEvent Eloquent\Phony\Call\Event\EndEvent The end event.

setResponseEvent() public method

Set the response event.
public setResponseEvent ( Eloquent\Phony\Call\Event\ResponseEvent $responseEvent )
$responseEvent Eloquent\Phony\Call\Event\ResponseEvent The response event.

threw() public method

Throws an exception unless this call threw an exception of the supplied type.
public threw ( Eloquent\Phony\Matcher\Matcher | Exceptio\Exception | Erro\Error | string | null $type = null ) : Eloquent\Phony\Event\EventCollection
$type Eloquent\Phony\Matcher\Matcher | Exceptio\Exception | Erro\Error | string | null An exception to match, the type of exception, or null for any exception.
return Eloquent\Phony\Event\EventCollection The result.

time() public method

Get the time at which the event occurred.
public time ( ) : float
return float The time at which the event occurred, in seconds since the Unix epoch.