Cassandra\SimpleStatementIntegrationTest::testByNameNullValue PHP Method

testByNameNullValue() public method

This test will ensure that the PHP driver supports named parameters using simple statement queries with null values.
public testByNameNullValue ( )
    public function testByNameNullValue()
    {
        // Create the table
        $query = "CREATE TABLE {$this->tableNamePrefix} (key timeuuid PRIMARY KEY, value_int int, value_boolean boolean, value_text text)";
        $this->session->execute(new SimpleStatement($query));
        // Create the insert query and insert valid named parameters
        $query = "INSERT INTO {$this->tableNamePrefix} (key, value_int, value_boolean, value_text) VALUES (?, ?, ?, ?)";
        $values = array("key" => new Timeuuid(), "value_int" => null, "value_boolean" => null, "value_text" => "Null values should exist for value_int and value_boolean");
        $statement = new SimpleStatement($query);
        $options = new ExecutionOptions(array("arguments" => $values));
        $this->session->execute($statement, $options);
        // Select and assert the values
        $query = "SELECT * FROM {$this->tableNamePrefix}";
        $statement = new SimpleStatement($query);
        $rows = $this->session->execute($statement);
        $this->assertCount(1, $rows);
        $row = $rows->first();
        $this->assertEquals($values, $row);
        $this->assertTrue($values == $row);
        $this->assertEquals($values["key"], $row["key"]);
        $this->assertEquals($values["value_int"], $row["value_int"]);
        $this->assertEquals($values["value_boolean"], $row["value_boolean"]);
        $this->assertEquals($values["value_text"], $row["value_text"]);
        $this->assertTrue($values["key"] == $row["key"]);
        $this->assertTrue($values["value_int"] == $row["value_int"]);
        $this->assertTrue($values["value_boolean"] == $row["value_boolean"]);
        $this->assertTrue($values["value_text"] == $row["value_text"]);
        $this->assertNull($row["value_int"]);
        $this->assertNull($row["value_boolean"]);
    }