. */ /** * Doctrine_ColumnAlias_TestCase * * @package Doctrine * @author Konsta Vesterinen * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @category Object Relational Mapping * @link www.phpdoctrine.com * @since 1.0 * @version $Revision$ */ class Doctrine_ColumnAlias_TestCase extends Doctrine_UnitTestCase { public function prepareData() { } public function prepareTables() { $this->tables = array('ColumnAliasTest'); parent::prepareTables(); } public function testAliasesAreSupportedForRecordPropertyAccessors() { $record = new ColumnAliasTest; try { $record->alias1 = 'someone'; $record->alias2 = 187; $this->assertEqual($record->alias1, 'someone'); $this->assertEqual($record->alias2, 187); } catch(Doctrine_Record_Exception $e) { $this->fail(); } $record->save(); } public function testAliasesAreSupportedForDqlSelectPart() { $q = new Doctrine_Query(); $q->select('c.alias1, c.alias2')->from('ColumnAliasTest c'); $coll = $q->execute(); $this->assertEqual($coll[0]->alias1, 'someone'); $this->assertEqual($coll[0]->alias2, 187); } public function testAliasesAreSupportedForDqlWherePart() { $q = new Doctrine_Query(); $q->select('c.alias1, c.alias2') ->from('ColumnAliasTest c') ->where('c.alias1 = ?'); $coll = $q->execute(array('someone')); $this->assertEqual($coll[0]->alias1, 'someone'); $this->assertEqual($coll[0]->alias2, 187); } public function testAliasesAreSupportedForDqlAggregateFunctions() { $q = new Doctrine_Query(); $q->select('MAX(c.alias1)') ->from('ColumnAliasTest c'); $coll = $q->execute(); $this->assertEqual($coll[0]->max, 'someone'); } public function testAliasesAreSupportedForDqlHavingPart() { $q = new Doctrine_Query(); $q->select('c.alias1') ->from('ColumnAliasTest c') ->having('MAX(c.alias2) = 187') ->groupby('c.id'); $coll = $q->execute(); $this->assertEqual($coll[0]->alias1, 'someone'); } }