Pinq\Tests\Integration\Analysis\TypeAnalysisTest::testInvocation PHP Метод

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

public testInvocation ( )
    public function testInvocation()
    {
        $this->doAnalysisTest(function (\Closure $closure) {
            $closure('abc');
        }, function (ITypeAnalysis $analysis, O\InvocationExpression $expression) {
            $this->assertTypeMatchesValue($analysis, $expression->getArguments()[0]->getValue(), $this->typeSystem->getNativeType(INativeType::TYPE_STRING));
            $this->assertEqualsObjectType('Closure', $analysis->getInvocation($expression)->getSourceType());
            $this->assertEqualsNativeType(INativeType::TYPE_MIXED, $analysis->getInvocation($expression)->getReturnType());
        });
        $this->assertReturnsNativeType(function (\Closure $closure) {
            $closure();
        }, INativeType::TYPE_MIXED);
    }