/** * @group disconnected * @expectedException \InvalidArgumentException * @expectedExceptionMessage Cannot initialize a tuple iterator using an already initiated iterator. */ public function testInitiatedMultiBulkIteratorsAreNotValid() { $connection = $this->getMock('Predis\\Connection\\NodeConnectionInterface'); $iterator = new MultiBulk($connection, 2); $iterator->next(); new MultiBulkTuple($iterator); }
/** * Checks for valid preconditions. * * @param MultiBulk $iterator Inner multibulk response iterator. */ protected function checkPreconditions(MultiBulk $iterator) { if ($iterator->getPosition() !== 0) { throw new InvalidArgumentException('Cannot initialize a tuple iterator using an already initiated iterator.'); } if (($size = count($iterator)) % 2 !== 0) { throw new UnexpectedValueException("Invalid response size for a tuple iterator."); } }