<?php namespace Doctrine\Tests\ORM\Hydration; use Doctrine\ORM\Query\ResultSetMapping; use Doctrine\ORM\Mapping\ClassMetadata; require_once __DIR__ . '/../../TestInit.php'; /** * Description of ResultSetMappingTest * * @author robo */ class ResultSetMappingTest extends \Doctrine\Tests\OrmTestCase { private $_rsm; private $_em; protected function setUp() { parent::setUp(); $this->_rsm = new ResultSetMapping; $this->_em = $this->_getTestEntityManager(); } /** * For SQL: SELECT id, status, username, name FROM cms_users */ public function testBasicResultSetMapping() { $this->_rsm->addEntityResult( 'Doctrine\Tests\Models\CMS\CmsUser', 'u' ); $this->_rsm->addFieldResult('u', 'id', 'id'); $this->_rsm->addFieldResult('u', 'status', 'status'); $this->_rsm->addFieldResult('u', 'username', 'username'); $this->_rsm->addFieldResult('u', 'name', 'name'); $this->assertFalse($this->_rsm->isScalarResult('id')); $this->assertFalse($this->_rsm->isScalarResult('status')); $this->assertFalse($this->_rsm->isScalarResult('username')); $this->assertFalse($this->_rsm->isScalarResult('name')); $this->assertTrue($this->_rsm->getClassName('u') == 'Doctrine\Tests\Models\CMS\CmsUser'); $class = $this->_rsm->getDeclaringClass('id'); $this->assertTrue($class == 'Doctrine\Tests\Models\CMS\CmsUser'); $this->assertEquals('u', $this->_rsm->getEntityAlias('id')); $this->assertEquals('u', $this->_rsm->getEntityAlias('status')); $this->assertEquals('u', $this->_rsm->getEntityAlias('username')); $this->assertEquals('u', $this->_rsm->getEntityAlias('name')); $this->assertEquals('id', $this->_rsm->getFieldName('id')); $this->assertEquals('status', $this->_rsm->getFieldName('status')); $this->assertEquals('username', $this->_rsm->getFieldName('username')); $this->assertEquals('name', $this->_rsm->getFieldName('name')); } }