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"]);
}
}