private function assertParsesCorrectly($testfile)
 {
     // Parse using an InMemoryListener instance
     $listener = new InMemoryListener();
     $stream = fopen($testfile, 'r');
     try {
         $parser = new Parser($stream, $listener);
         $parser->parse();
         fclose($stream);
     } catch (Exception $e) {
         fclose($stream);
         throw $e;
     }
     $actual = $listener->get_json();
     // Parse using json_decode
     $expected = json_decode(file_get_contents($testfile), true);
     // Make sure the two produce the same object structure
     $this->assertSame($expected, $actual);
 }
<?php

require_once dirname(__FILE__) . '/../src/JsonStreamingParser/Parser.php';
require_once dirname(__FILE__) . '/InMemoryListener.php';
$testfile = dirname(__FILE__) . '/example.json';
$listener = new InMemoryListener();
$stream = fopen($testfile, 'r');
try {
    $parser = new JsonStreamingParser_Parser($stream, $listener);
    $parser->parse();
} catch (Exception $e) {
    fclose($stream);
    throw $e;
}
var_dump($listener->get_json());