original_string: protected function doMatch($actual)
      {
          $actual = $this->getArrayValue($actual);
          if ($this->assertion->flag('contain')) {
              $this->verb = 'contain';
  
              return $this->matchInclusion($actual);
          }
          $keys = array_keys($actual);
  
          return $keys == $this->expected;
      }
code: protected function doMatch($actual)
      {
          $actual = $this->getArrayValue($actual);
          if ($this->assertion->flag('contain')) {
              $this->verb = 'contain';
  
              return $this->matchInclusion($actual);
          }
          $keys = array_keys($actual);
  
          return $keys == $this->expected;
      }
code_tokens: protected function doMatch ( $ actual ) { $ actual = $ this -> getArrayValue ( $ actual ) ; if ( $ this -> assertion -> flag ( 'contain' ) ) { $ this -> verb = 'contain' ; return $ this -> matchInclusion ( $ actual ) ; } $ keys = array_keys ( $ actual ) ; return $ keys == $ this -> expected ; }
docstring: Assert that the actual value is an array or object with the expected keys.
  
  @param $actual
  @return mixed
docstring_tokens: Assert that the actual value is an array or object with the expected keys .