public function testQualifiedName()
 {
     $class = new PhpClass();
     $this->assertNull($class->getName());
     $class = new PhpClass('foo');
     $this->assertEquals('foo', $class->getName());
     $this->assertEquals('foo', $class->getQualifiedName());
     $this->assertSame($class, $class->setName('bar'));
     $this->assertEquals('bar', $class->getName());
     $class->setQualifiedName('\\full\\qualified\\Name');
     $this->assertEquals('full\\qualified', $class->getNamespace());
     $this->assertEquals('Name', $class->getName());
     $this->assertEquals('full\\qualified\\Name', $class->getQualifiedName());
     $class->setNamespace('a\\b');
     $this->assertEquals('a\\b', $class->getNamespace());
     $this->assertEquals('a\\b\\Name', $class->getQualifiedName());
 }
예제 #2
0
 private function buildSignature(PhpClass $model)
 {
     if ($model->isAbstract()) {
         $this->writer->write('abstract ');
     }
     if ($model->isFinal()) {
         $this->writer->write('final ');
     }
     $this->writer->write('class ');
     $this->writer->write($model->getName());
     if ($parentClassName = $model->getParentClassName()) {
         $this->writer->write(' extends ' . $parentClassName);
     }
     if ($model->hasInterfaces()) {
         $this->writer->write(' implements ');
         $this->writer->write(implode(', ', $model->getInterfaces()->toArray()));
     }
 }