function testClassDefParser()
 {
     $parser = ManifestBuilder::getClassDefParser();
     $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('ParentClassC', $classes['ClassC']['extends']);
     $this->assertArrayHasKey('ClassD', $classes);
     $this->assertEquals('ParentClassD', $classes['ClassD']['extends']);
     $this->assertContains('InterfaceA', $classes['ClassD']['interfaces']);
     $this->assertArrayHasKey('ClassE', $classes);
     $this->assertEquals('ParentClassE', $classes['ClassE']['extends']);
     $this->assertContains('InterfaceA', $classes['ClassE']['interfaces']);
     $this->assertContains('InterfaceB', $classes['ClassE']['interfaces']);
     $this->assertArrayHasKey('ClassF', $classes);
     $this->assertEquals('ParentClassF', $classes['ClassF']['extends']);
     $this->assertContains('InterfaceA', $classes['ClassF']['interfaces']);
     $this->assertContains('InterfaceB', $classes['ClassF']['interfaces']);
 }