Cassandra\SimpleStatementIntegrationTest::testByName PHP Method

testByName() public method

This test will ensure that the PHP driver supports named parameters using simple statement queries.
public testByName ( )
    public function testByName()
    {
        // Create the table
        $query = "CREATE TABLE {$this->tableNamePrefix} (key timeuuid, value_int int, value_boolean boolean, value_text text, PRIMARY KEY (value_int, key)) WITH CLUSTERING ORDER BY (key DESC)";
        $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(array("value_text" => "This is row number one.", "value_boolean" => true, "value_int" => 1, "key" => new Timeuuid()), array("value_int" => 2, "key" => new Timeuuid(), "value_boolean" => false, "value_text" => "This is row number two."), array("key" => new Timeuuid(), "value_int" => 3, "value_boolean" => false, "value_text" => "This is row number three."));
        $statement = new SimpleStatement($query);
        foreach ($values as $value) {
            $options = new ExecutionOptions(array("arguments" => $value));
            $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(count($values), $rows);
        foreach ($rows as $i => $row) {
            $value = $values[$i];
            $this->assertEquals($value, $row);
            $this->assertTrue($value == $row);
            $this->assertEquals($value["key"], $row["key"]);
            $this->assertEquals($value["value_int"], $row["value_int"]);
            $this->assertEquals($value["value_boolean"], $row["value_boolean"]);
            $this->assertEquals($value["value_text"], $row["value_text"]);
            $this->assertTrue($value["key"] == $row["key"]);
            $this->assertTrue($value["value_int"] == $row["value_int"]);
            $this->assertTrue($value["value_boolean"] == $row["value_boolean"]);
            $this->assertTrue($value["value_text"] == $row["value_text"]);
        }
    }