public function testTraits()
{
$class = new PhpClass('my\\name\\space\\Class');
$this->assertEquals([], $class->getTraits());
$this->assertSame($class, $class->setTraits(['foo', 'bar']));
$this->assertEquals(['foo', 'bar'], $class->getTraits());
$this->assertSame($class, $class->addTrait('stdClass'));
$this->assertEquals(['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'));
}