Pinq\Tests\Integration\ExpressionTrees\BasicInterpreterTest::testBinaryOperations PHP Method

testBinaryOperations() public method

    public function testBinaryOperations()
    {
        $valueSet = [[-500], [-5], [-2], [-1], [1], [2], [5], [500]];
        $this->assertRecompilesCorrectly(function ($i) {
            return $i + 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i - 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i * 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i / 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i % 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i & 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i | 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i << 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i >> 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i && 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i || 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i === 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i !== 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i == 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i != 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i > 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i >= 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i < 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i <= 1;
        }, $valueSet);
        $this->assertRecompilesCorrectly(function ($i) {
            return $i . 1;
        }, $valueSet);
    }