public function testReflectionOnTraitName()
 {
     $qualified = self::TEST_FIXTURE_TRAIT;
     $lastSlashPosition = StringInfo::searchPositionFromRight($qualified, '\\');
     $name = substr($qualified, $lastSlashPosition + 1);
     $namespace = substr($qualified, 0, $lastSlashPosition);
     $namespaceSections = explode('\\', $namespace);
     $r = Inspect::useTrait($qualified);
     $this->assertTrue($r instanceof TraitInspector);
     $this->assertSame($qualified, $r->nameQualified());
     $this->assertSame($name, $r->nameUnQualified());
     $this->assertSame($name, $r->name());
     $this->assertSame($name, $r->name(false));
     $this->assertSame($qualified, $r->name(true));
     $this->assertSame($namespace, $r->namespaceName());
     $this->assertSame($namespaceSections, $r->namespaceSections());
     $r = Inspect::using($qualified);
     $this->assertTrue($r instanceof TraitInspector);
     $this->assertSame($qualified, $r->nameQualified());
     $this->assertSame($name, $r->nameUnQualified());
     $this->assertSame($name, $r->name());
     $this->assertSame($name, $r->name(false));
     $this->assertSame($qualified, $r->name(true));
     $this->assertSame($namespace, $r->namespaceName());
     $this->assertSame($namespaceSections, $r->namespaceSections());
     $trait = FixtureTraitTwo::class;
     $r = Inspect::useTrait($trait);
     $this->assertTrue($r instanceof TraitInspector);
     $this->assertSame($trait, $r->nameQualified());
     $this->expectException(InvalidArgumentException::class);
     $r = Inspect::useTrait($trait . '\\InvalidTraitName');
 }