/** * @group disconnected * @expectedException RuntimeException * @expectedExceptionMessage Cannot initialize a tuple iterator with an already initiated iterator */ public function testInitiatedMultiBulkIteratorsAreNotValid() { $connection = $this->getMock('Predis\\Connection\\SingleConnectionInterface'); $iterator = new MultiBulkResponseSimple($connection, 2); $iterator->next(); new MultiBulkResponseTuple($iterator); }
/** * Checks for valid preconditions. * * @param MultiBulkResponseSimple $iterator Multibulk reply iterator. */ protected function checkPreconditions(MultiBulkResponseSimple $iterator) { if ($iterator->getPosition() !== 0) { throw new \RuntimeException('Cannot initialize a tuple iterator with an already initiated iterator'); } if (($size = count($iterator)) % 2 !== 0) { throw new \UnexpectedValueException("Invalid reply size for a tuple iterator [{$size}]"); } }