// Prophecy\Argument\Token\IdenticalValueToken
$userProphecy->setName(Prophecy\Argument::is('John'));
// Prophecy\Argument\Token\ExactValueToken
$userProphecy->setName(Prophecy\Argument::exact('John'));
// Prophecy\Argument\Token\TypeToken
$userProphecy->setName(Prophecy\Argument::type('string'));
// Prophecy\Argument\Token\ObjectStateToken
$userProphecy->setName(Prophecy\Argument::which('getName', 'John'));
// Prophecy\Argument\Token\CallbackToken
$userProphecy->setName(Prophecy\Argument::that(function ($arg) { return true; }));