123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <?php
- namespace Predis\Command\Redis;
- use Predis\Client;
- use Predis\Command;
- use PredisTestCase;
- abstract class PredisCommandTestCase extends PredisTestCase
- {
-
- abstract protected function getExpectedCommand();
-
- abstract protected function getExpectedId();
-
- public function getCommand()
- {
- $command = $this->getExpectedCommand();
- return $command instanceof Command\CommandInterface ? $command : new $command();
- }
-
- public function getClient($flushdb = true)
- {
- $commands = $this->getCommandFactory();
- if (!$commands->supportsCommand($id = $this->getExpectedId())) {
- $this->markTestSkipped(
- "The current command factory does not support command $id"
- );
- }
- $client = $this->createClient(null, null, $flushdb);
- return $client;
- }
-
- protected function isPrefixable()
- {
- return $this->getCommand() instanceof Command\PrefixableCommandInterface;
- }
-
- protected function getCommandWithArguments()
- {
- return $this->getCommandWithArgumentsArray(func_get_args());
- }
-
- protected function getCommandWithArgumentsArray(array $arguments)
- {
- $command = $this->getCommand();
- $command->setArguments($arguments);
- return $command;
- }
-
- public function testCommandId()
- {
- $command = $this->getCommand();
- $this->assertInstanceOf('Predis\Command\CommandInterface', $command);
- $this->assertEquals($this->getExpectedId(), $command->getId());
- }
-
- public function testRawArguments()
- {
- $expected = array('1st', '2nd', '3rd', '4th');
- $command = $this->getCommand();
- $command->setRawArguments($expected);
- $this->assertSame($expected, $command->getArguments());
- }
- }
|