public function testClassDefParser()
 {
     $parser = ClassManifest::get_class_parser();
     $tokens = $this->getTokens();
     $matches = $parser->findAll($tokens);
     $classes = array();
     if ($matches) {
         foreach ($matches as $match) {
             $classes[$match['className']] = $match;
         }
     }
     $this->assertArrayHasKey('ClassA', $classes);
     $this->assertArrayHasKey('ClassB', $classes);
     $this->assertArrayHasKey('ClassC', $classes);
     $this->assertEquals(array('ParentClassC'), $classes['ClassC']['extends']);
     $this->assertArrayHasKey('ClassD', $classes);
     $this->assertEquals(array('ParentClassD'), $classes['ClassD']['extends']);
     $this->assertContains('InterfaceA', $classes['ClassD']['interfaces']);
     $this->assertArrayHasKey('ClassE', $classes);
     $this->assertEquals(array('ParentClassE'), $classes['ClassE']['extends']);
     $this->assertContains('InterfaceA', $classes['ClassE']['interfaces']);
     $this->assertContains('InterfaceB', $classes['ClassE']['interfaces']);
     $this->assertArrayHasKey('ClassF', $classes);
     $this->assertEquals(array('ParentClassF'), $classes['ClassF']['extends']);
     $this->assertContains('InterfaceA', $classes['ClassF']['interfaces']);
     $this->assertContains('InterfaceB', $classes['ClassF']['interfaces']);
 }