From 7130cb5a389463c9a8d04576b7790b804c85f741 Mon Sep 17 00:00:00 2001 From: zYne Date: Mon, 28 May 2007 19:01:24 +0000 Subject: [PATCH] --- tests/Hydrate/FetchModeTestCase.php | 83 +++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 tests/Hydrate/FetchModeTestCase.php diff --git a/tests/Hydrate/FetchModeTestCase.php b/tests/Hydrate/FetchModeTestCase.php new file mode 100644 index 000000000..e0b1267d8 --- /dev/null +++ b/tests/Hydrate/FetchModeTestCase.php @@ -0,0 +1,83 @@ +. + */ + +/** + * Doctrine_Hydrate_FetchMode_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_Hydrate_FetchMode_TestCase extends Doctrine_UnitTestCase +{ + public function testFetchArraySupportsOneToManyRelations() + { + $q = new Doctrine_Query(); + + $q->select('u.*, p.*')->from('User u')->innerJoin('u.Phonenumber p')->where("u.name = 'zYne'");; + + $users = $q->execute(array(), Doctrine::FETCH_ARRAY); + + $this->assertTrue(is_array($users)); + + $this->assertEqual(count($users), 1); + } + public function testFetchArraySupportsOneToManyRelations2() + { + $q = new Doctrine_Query(); + + $q->select('u.*, p.*')->from('User u')->innerJoin('u.Phonenumber p'); + + $users = $q->execute(array(), Doctrine::FETCH_ARRAY); + + $this->assertTrue(is_array($users)); + + $this->assertEqual(count($users), 8); + } + public function testFetchArraySupportsOneToManyRelations3() + { + $q = new Doctrine_Query(); + + $q->select('u.*, p.*')->from('User u')->innerJoin('u.Phonenumber p')->where("u.name = 'Jean Reno'"); + + $users = $q->execute(array(), Doctrine::FETCH_ARRAY); + + $this->assertTrue(is_array($users)); + + $this->assertEqual(count($users), 1); + $this->assertEqual(count($users[0]['Phonenumber']), 3); + } + public function testFetchArraySupportsOneToOneRelations() + { + $q = new Doctrine_Query(); + + $q->select('u.*, e.*')->from('User u')->innerJoin('u.Email e'); + + $users = $q->execute(array(), Doctrine::FETCH_ARRAY); + + $this->assertEqual(count($users), 8); + $this->assertEqual($users[0]['Email']['address'], 'zYne@example.com'); + } +}