Pinq\Tests\Integration\Parsing\ReflectionTest::testMethod PHP Метод

testMethod() публичный Метод

public testMethod ( )
    public function testMethod()
    {
        $reflection = $this->interpreter->getReflection([$this, 'method']);
        $location = $reflection->getLocation();
        $scope = $reflection->getScope();
        $signature = $reflection->getSignature();
        $this->assertSame(__FILE__, $location->getFilePath());
        $this->assertSame(true, $location->inNamespace());
        $this->assertSame(__NAMESPACE__, $location->getNamespace());
        $this->assertSame($this->method()['start'], $location->getStartLine());
        $this->assertSame($this->method()['end'], $location->getEndLine());
        $this->assertSame($this, $scope->getThis());
        $this->assertEquals([], $scope->getVariableTable());
        $this->assertSame(__CLASS__, $scope->getScopeType());
        $this->assertSame(__CLASS__, $scope->getThisType());
        $this->assertSame(IFunctionSignature::TYPE_METHOD, $signature->getType());
        $this->assertSame(IFunctionSignature::ACCESS_PUBLIC, $signature->getAccessModifier());
        $this->assertSame(false, $signature->isStatic());
        $this->assertSame(true, $signature->returnsReference());
        $this->assertSame('method', $signature->getName());
        $this->assertSame(IFunctionSignature::POLYMORPH_FINAL, $signature->getPolymorphModifier());
        $this->assertEquals([O\Expression::parameter('start', null, O\Expression::value($this->method()['start']))], $signature->getParameterExpressions());
        $this->assertEquals(null, $signature->getScopedVariableNames());
    }