Пример #1
0
 public function testTraits()
 {
     $class = new PhpClass('my\\name\\space\\Class');
     $this->assertEquals(array(), $class->getTraits());
     $this->assertSame($class, $class->setTraits(array('foo', 'bar')));
     $this->assertEquals(array('foo', 'bar'), $class->getTraits());
     $this->assertSame($class, $class->addTrait('stdClass'));
     $this->assertEquals(array('foo', 'bar', 'stdClass'), $class->getTraits());
     $trait = new PhpTrait('my\\name\\space\\Trait');
     $class->addTrait($trait);
     $this->assertTrue($class->hasTrait('my\\name\\space\\Trait'));
     $this->assertSame($class, $class->removeTrait($trait));
     $class->addTrait(new PhpTrait('other\\name\\space\\Trait'));
     $this->assertTrue($class->hasUseStatement('other\\name\\space\\Trait'));
     $this->assertSame($class, $class->removeTrait('other\\name\\space\\Trait'));
     $this->assertTrue($class->hasUseStatement('other\\name\\space\\Trait'));
 }