/**
  * @param array $responses
  * @return mixed
  */
 public function parseResponse($responses)
 {
     foreach ($responses as $n => $response) {
         if (empty($this->commandLines[$n][2])) {
             // todo: check
             continue;
         }
         $responses[$n] = ResponseParser::parse($this->commandLines[$n][2], $response);
     }
     return $responses;
 }
 /**
  * @param array $command
  * @param array|null $params
  * @param int|null $parserId
  * @return mixed
  * @throws ErrorResponseException
  */
 protected function executeCommand(array $command, array $params = null, $parserId = null)
 {
     $response = $this->getProtocol()->send($this->getStructure($command, $params));
     if ($response instanceof ErrorResponseException) {
         throw $response;
     }
     if (isset($parserId)) {
         return ResponseParser::parse($parserId, $response);
     }
     return $response;
 }
 /**
  * @see ResponseParser::parseAssocArray
  */
 public function test_parseAssocArray()
 {
     $this->assertSame(['foo' => 'bar'], ResponseParser::parseAssocArray(['foo', 'bar']));
     $this->assertSame(['a' => 'b', 'c' => 'd'], ResponseParser::parseAssocArray(['a', 'b', 'c', 'd']));
     $this->assertSame(['a' => 'd'], ResponseParser::parseAssocArray(['a', 'b', 'a', 'd']));
     $this->assertSame([], ResponseParser::parseAssocArray([]));
 }