Pinq\Tests\Integration\Expressions\ExpressionOperatorTest::testBinary PHP Method

testBinary() public method

public testBinary ( )
    public function testBinary()
    {
        $this->assertSame(true, Binary::doBinaryOperation(5, Binary::EQUALITY, '5'));
        $this->assertSame(false, Binary::doBinaryOperation(5, Binary::INEQUALITY, '5'));
        $this->assertSame(false, Binary::doBinaryOperation(5, Binary::IDENTITY, '5'));
        $this->assertSame(true, Binary::doBinaryOperation(5, Binary::NOT_IDENTICAL, '5'));
        $this->assertSame(25, Binary::doBinaryOperation(5, Binary::POWER, 2));
        $this->assertSame(3, Binary::doBinaryOperation(5, Binary::SUBTRACTION, 2));
        $this->assertSame(7, Binary::doBinaryOperation(5, Binary::ADDITION, 2));
        $this->assertSame(10, Binary::doBinaryOperation(5, Binary::MULTIPLICATION, 2));
        $this->assertSame(2.5, Binary::doBinaryOperation(5, Binary::DIVISION, 2));
        $this->assertSame(1, Binary::doBinaryOperation(5, Binary::MODULUS, 2));
        $this->assertSame(true, Binary::doBinaryOperation(new \stdClass(), Binary::IS_INSTANCE_OF, 'stdClass'));
        $this->assertSame(false, Binary::doBinaryOperation(new \stdClass(), Binary::IS_INSTANCE_OF, __CLASS__));
        $this->assertSame(false, Binary::doBinaryOperation(true, Binary::LOGICAL_AND, false));
        $this->assertSame(true, Binary::doBinaryOperation(true, Binary::LOGICAL_OR, false));
        $this->assertSame(true, Binary::doBinaryOperation(3, Binary::LESS_THAN, 4));
        $this->assertSame(false, Binary::doBinaryOperation(3, Binary::GREATER_THAN, 4));
        $this->assertSame(true, Binary::doBinaryOperation(3, Binary::LESS_THAN_OR_EQUAL_TO, 4));
        $this->assertSame(false, Binary::doBinaryOperation(3, Binary::GREATER_THAN_OR_EQUAL_TO, 4));
        $this->assertSame(3 & 4, Binary::doBinaryOperation(3, Binary::BITWISE_AND, 4));
        $this->assertSame(3 | 4, Binary::doBinaryOperation(3, Binary::BITWISE_OR, 4));
        $this->assertSame(3 ^ 4, Binary::doBinaryOperation(3, Binary::BITWISE_XOR, 4));
        $this->assertSame(3 << 4, Binary::doBinaryOperation(3, Binary::SHIFT_LEFT, 4));
        $this->assertSame(3 >> 4, Binary::doBinaryOperation(3, Binary::SHIFT_RIGHT, 4));
    }