public function testReflectionOnInterfaceName() { $qualified = self::TEST_FIXTURE_INTERFACE; $lastSlashPosition = StringInfo::searchPositionFromRight($qualified, '\\'); $name = substr($qualified, $lastSlashPosition + 1); $namespace = substr($qualified, 0, $lastSlashPosition); $namespaceSections = explode('\\', $namespace); $r = Inspect::useInterface($qualified); $this->assertTrue($r instanceof InterfaceInspector); $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 InterfaceInspector); $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()); $this->expectException(InvalidArgumentException::class); Inspect::useTrait($qualified . '\\InvalidTraitName'); }