public function testStoresAndFetchesStandardColumns()
 {
     $this->cassandra->set('user.foobar', array('email' => '*****@*****.**', 'name' => 'John Smith', 'age' => 23));
     $this->cassandra->set('user.' . 'foo.bar', array('email' => '*****@*****.**', 'name' => 'Jane Doe', 'age' => 18));
     $this->cassandra->set('user.' . 'foo.bar', array('email' => '*****@*****.**', 'name' => 'Jane Doe', 'age' => 18));
     $this->assertEquals(array('email' => '*****@*****.**', 'name' => 'John Smith', 'age' => 23), $this->cassandra->get('user.foobar'));
     $this->assertEquals(array('email' => '*****@*****.**', 'name' => 'Jane Doe', 'age' => 18), $this->cassandra->get('user.' . Cassandra::escape('foo.bar')));
     $this->assertEquals(array('email' => '*****@*****.**'), $this->cassandra->get('user.foobar:email'));
     $this->assertEquals(array('email' => '*****@*****.**', 'age' => 23), $this->cassandra->get('user.foobar:email,age'));
     $this->assertEquals(array('email' => '*****@*****.**', 'age' => 23), $this->cassandra->get('user.foobar:email, age'));
     $this->assertEquals(array('email' => '*****@*****.**', 'name' => 'John Smith', 'age' => 23), $this->cassandra->get('user.foobar:age-name'));
     $this->assertEquals(array('email' => '*****@*****.**', 'name' => 'John Smith', 'age' => 23), $this->cassandra->get('user.foobar:a-o'));
     $this->assertEquals(array('email' => '*****@*****.**', 'age' => 23), $this->cassandra->get('user.foobar:a-f'));
     $this->assertEquals(array('email' => '*****@*****.**', 'age' => 23), $this->cassandra->get('user.foobar:a-z|2'));
     $this->assertEquals(array('age' => 23, 'email' => '*****@*****.**'), $this->cassandra->get('user.foobar|2'));
     $this->assertEquals(array('name' => 'John Smith', 'email' => '*****@*****.**'), $this->cassandra->get('user.foobar:z-a|2R'));
     $this->assertEquals(array('name' => 'John Smith', 'email' => '*****@*****.**'), $this->cassandra->get('user.foobar|2R'));
 }
// access column family, using the singleton syntax
// there is shorter "cf" methid that is an alias to "columnFamily"
$userColumnFamily = Cassandra::getInstance()->columnFamily('user');
echo 'Column family "user": <pre>' . print_r($userColumnFamily, true) . '</pre><hr/>';
// lets insert some test data using the convinience method "set" of Cassandra
// the syntax is COLUMN_FAMILY_NAME.KEY_NAME
$cassandra->set('user.john', array('email' => '*****@*****.**', 'name' => 'John Smith', 'age' => 34));
// when inserting data, it's ok if key name contains ".", no need to escape them
$cassandra->set('user.jane.doe', array('email' => '*****@*****.**', 'name' => 'Jane Doe', 'age' => 24));
// longer way of inserting data, first getting the column family
$cassandra->cf('user')->set('chuck', array('email' => '*****@*****.**', 'name' => 'Chuck Norris', 'age' => 24), Cassandra::CONSISTENCY_QUORUM);
// lets fetch all the information about user john
$john = $cassandra->get('user.john');
echo 'User "john": <pre>' . print_r($john, true) . '</pre><hr/>';
// since the jane key "jane.doe" includes a ".", we have to escape it
$jane = $cassandra->get('user.' . Cassandra::escape('jane.doe'));
echo 'User "jane.doe": <pre>' . print_r($jane, true) . '</pre><hr/>';
// there is some syntatic sugar on the query of Cassandra::get() allowing you
// to fetch specific columns, ranges of them, limit amount etc. for example,
// lets only fetch columns name and age
$chuck = $cassandra->get('user.chuck:name,age');
echo 'User "chuck", name and age: <pre>' . print_r($chuck, true) . '</pre><hr/>';
// fetch all solumns from age to name (gets all columns in-between too)
$chuck2 = $cassandra->get('user.chuck:age-name');
echo 'User "chuck", columns ago to name: <pre>' . print_r($chuck2, true) . '</pre><hr/>';
// the range columns do not need to exist, we can get character ranges
$chuck3 = $cassandra->get('user.chuck:a-z');
echo 'User "chuck", columns a-z: <pre>' . print_r($chuck3, true) . '</pre><hr/>';
// when performing range queries, we can also limit the number of columns
// returned (2); also the method accepts consistency level as second parameter
$chuck4 = $cassandra->get('user.chuck:a-z|2', Cassandra::CONSISTENCY_ALL);