public function testSelectWithOrderbyClause()
 {
     $query = new SQLSelect();
     $query->setFrom("MyTable");
     $query->setOrderBy('MyName');
     $this->assertSQLEquals('SELECT * FROM MyTable ORDER BY MyName ASC', $query->sql($parameters));
     $query = new SQLSelect();
     $query->setFrom("MyTable");
     $query->setOrderBy('MyName desc');
     $this->assertSQLEquals('SELECT * FROM MyTable ORDER BY MyName DESC', $query->sql($parameters));
     $query = new SQLSelect();
     $query->setFrom("MyTable");
     $query->setOrderBy('MyName ASC, Color DESC');
     $this->assertSQLEquals('SELECT * FROM MyTable ORDER BY MyName ASC, Color DESC', $query->sql($parameters));
     $query = new SQLSelect();
     $query->setFrom("MyTable");
     $query->setOrderBy('MyName ASC, Color');
     $this->assertSQLEquals('SELECT * FROM MyTable ORDER BY MyName ASC, Color ASC', $query->sql($parameters));
     $query = new SQLSelect();
     $query->setFrom("MyTable");
     $query->setOrderBy(array('MyName' => 'desc'));
     $this->assertSQLEquals('SELECT * FROM MyTable ORDER BY MyName DESC', $query->sql($parameters));
     $query = new SQLSelect();
     $query->setFrom("MyTable");
     $query->setOrderBy(array('MyName' => 'desc', 'Color'));
     $this->assertSQLEquals('SELECT * FROM MyTable ORDER BY MyName DESC, Color ASC', $query->sql($parameters));
     $query = new SQLSelect();
     $query->setFrom("MyTable");
     $query->setOrderBy('implode("MyName","Color")');
     $this->assertSQLEquals('SELECT *, implode("MyName","Color") AS "_SortColumn0" FROM MyTable ORDER BY "_SortColumn0" ASC', $query->sql($parameters));
     $query = new SQLSelect();
     $query->setFrom("MyTable");
     $query->setOrderBy('implode("MyName","Color") DESC');
     $this->assertSQLEquals('SELECT *, implode("MyName","Color") AS "_SortColumn0" FROM MyTable ORDER BY "_SortColumn0" DESC', $query->sql($parameters));
     $query = new SQLSelect();
     $query->setFrom("MyTable");
     $query->setOrderBy('RAND()');
     $this->assertSQLEquals('SELECT *, RAND() AS "_SortColumn0" FROM MyTable ORDER BY "_SortColumn0" ASC', $query->sql($parameters));
     $query = new SQLSelect();
     $query->setFrom("MyTable");
     $query->addFrom('INNER JOIN SecondTable USING (ID)');
     $query->addFrom('INNER JOIN ThirdTable USING (ID)');
     $query->setOrderBy('MyName');
     $this->assertSQLEquals('SELECT * FROM MyTable ' . 'INNER JOIN SecondTable USING (ID) ' . 'INNER JOIN ThirdTable USING (ID) ' . 'ORDER BY MyName ASC', $query->sql($parameters));
 }