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

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

public testUnaryOperators ( )
    public function testUnaryOperators()
    {
        $values = [INativeType::TYPE_INT => function () {
            +4;
        }, INativeType::TYPE_BOOL => function () {
            !true;
        }, INativeType::TYPE_DOUBLE => function () {
            -343.23;
        }, INativeType::TYPE_STRING => function () {
            ~'abce';
        }];
        foreach ($values as $expectedType => $expression) {
            $this->doAnalysisTest($expression, function (ITypeAnalysis $analysis, O\UnaryOperationExpression $expression) use($expectedType) {
                $this->assertTypeMatchesValue($analysis, $expression->getOperand(), $analysis->getUnaryOperation($expression)->getSourceType());
                $this->assertEqualsNativeType($expectedType, $analysis->getUnaryOperation($expression)->getReturnType());
            });
        }
    }