| 77 | | $stmt, $queryComponents, $tableAliasMap, $hydrationMode)); |
| 78 | | |
| 79 | | $this->assertEquals(2, count($result)); |
| 80 | | $this->assertEquals(1, $result[0]['id']); |
| 81 | | $this->assertEquals('romanb', $result[0]['name']); |
| 82 | | $this->assertEquals(2, $result[1]['id']); |
| 83 | | $this->assertEquals('jwage', $result[1]['name']); |
| | 78 | $stmt, $queryComponents, $tableAliasMap, $hydrationMode)); |
| | 79 | |
| | 80 | if ($hydrationMode == Doctrine::HYDRATE_ARRAY || $hydrationMode == Doctrine::HYDRATE_RECORD) { |
| | 81 | $this->assertEquals(2, count($result)); |
| | 82 | $this->assertEquals(1, $result[0]['id']); |
| | 83 | $this->assertEquals('romanb', $result[0]['name']); |
| | 84 | $this->assertEquals(2, $result[1]['id']); |
| | 85 | $this->assertEquals('jwage', $result[1]['name']); |
| | 86 | } |
| 163 | | $this->assertEquals(2, count($result)); |
| 164 | | $this->assertTrue(is_array($result)); |
| 165 | | $this->assertTrue(is_array($result[0])); |
| 166 | | $this->assertTrue(is_array($result[1])); |
| 167 | | |
| 168 | | // first user => 2 phonenumbers |
| 169 | | $this->assertEquals(2, count($result[0][0]['phonenumbers'])); |
| 170 | | $this->assertEquals('ROMANB', $result[0]['nameUpper']); |
| 171 | | // second user => 1 phonenumber |
| 172 | | $this->assertEquals(1, count($result[1][0]['phonenumbers'])); |
| 173 | | $this->assertEquals('JWAGE', $result[1]['nameUpper']); |
| 174 | | |
| 175 | | $this->assertEquals(42, $result[0][0]['phonenumbers'][0]['phonenumber']); |
| 176 | | $this->assertEquals(43, $result[0][0]['phonenumbers'][1]['phonenumber']); |
| 177 | | $this->assertEquals(91, $result[1][0]['phonenumbers'][0]['phonenumber']); |
| | 173 | if ($hydrationMode == Doctrine::HYDRATE_ARRAY || $hydrationMode == Doctrine::HYDRATE_RECORD) { |
| | 174 | $this->assertEquals(2, count($result)); |
| | 175 | $this->assertTrue(is_array($result)); |
| | 176 | $this->assertTrue(is_array($result[0])); |
| | 177 | $this->assertTrue(is_array($result[1])); |
| | 178 | |
| | 179 | // first user => 2 phonenumbers |
| | 180 | $this->assertEquals(2, count($result[0][0]['phonenumbers'])); |
| | 181 | $this->assertEquals('ROMANB', $result[0]['nameUpper']); |
| | 182 | // second user => 1 phonenumber |
| | 183 | $this->assertEquals(1, count($result[1][0]['phonenumbers'])); |
| | 184 | $this->assertEquals('JWAGE', $result[1]['nameUpper']); |
| | 185 | |
| | 186 | $this->assertEquals(42, $result[0][0]['phonenumbers'][0]['phonenumber']); |
| | 187 | $this->assertEquals(43, $result[0][0]['phonenumbers'][1]['phonenumber']); |
| | 188 | $this->assertEquals(91, $result[1][0]['phonenumbers'][0]['phonenumber']); |
| | 189 | } |
| 248 | | $this->assertEquals(2, count($result)); |
| 249 | | $this->assertTrue(is_array($result)); |
| 250 | | $this->assertTrue(is_array($result[0])); |
| 251 | | $this->assertTrue(is_array($result[1])); |
| 252 | | |
| 253 | | // first user => 2 phonenumbers |
| 254 | | $this->assertEquals(2, $result[0]['numPhones']); |
| 255 | | // second user => 1 phonenumber |
| 256 | | $this->assertEquals(1, $result[1]['numPhones']); |
| | 269 | if ($hydrationMode == Doctrine::HYDRATE_ARRAY || $hydrationMode == Doctrine::HYDRATE_RECORD) { |
| | 270 | $this->assertEquals(2, count($result)); |
| | 271 | $this->assertTrue(is_array($result)); |
| | 272 | $this->assertTrue(is_array($result[0])); |
| | 273 | $this->assertTrue(is_array($result[1])); |
| | 274 | |
| | 275 | // first user => 2 phonenumbers |
| | 276 | $this->assertEquals(2, $result[0]['numPhones']); |
| | 277 | // second user => 1 phonenumber |
| | 278 | $this->assertEquals(1, $result[1]['numPhones']); |
| | 279 | } |
| 333 | | $this->assertEquals(2, count($result)); |
| 334 | | $this->assertTrue(is_array($result)); |
| 335 | | $this->assertTrue(is_array($result[0])); |
| 336 | | $this->assertTrue(is_array($result[1])); |
| 337 | | |
| 338 | | |
| 339 | | // first user => 2 phonenumbers. notice the custom indexing by user id |
| 340 | | $this->assertEquals(2, count($result[0]['1']['phonenumbers'])); |
| 341 | | // second user => 1 phonenumber. notice the custom indexing by user id |
| 342 | | $this->assertEquals(1, count($result[1]['2']['phonenumbers'])); |
| 343 | | |
| 344 | | // test the custom indexing of the phonenumbers |
| 345 | | $this->assertTrue(isset($result[0]['1']['phonenumbers']['42'])); |
| 346 | | $this->assertTrue(isset($result[0]['1']['phonenumbers']['43'])); |
| 347 | | $this->assertTrue(isset($result[1]['2']['phonenumbers']['91'])); |
| 348 | | |
| 349 | | // test the scalar values |
| 350 | | $this->assertEquals('ROMANB', $result[0]['nameUpper']); |
| 351 | | $this->assertEquals('JWAGE', $result[1]['nameUpper']); |
| 352 | | |
| | 366 | if ($hydrationMode == Doctrine::HYDRATE_ARRAY || $hydrationMode == Doctrine::HYDRATE_RECORD) { |
| | 367 | $this->assertEquals(2, count($result)); |
| | 368 | $this->assertTrue(is_array($result)); |
| | 369 | $this->assertTrue(is_array($result[0])); |
| | 370 | $this->assertTrue(is_array($result[1])); |
| | 371 | |
| | 372 | // first user => 2 phonenumbers. notice the custom indexing by user id |
| | 373 | $this->assertEquals(2, count($result[0]['1']['phonenumbers'])); |
| | 374 | // second user => 1 phonenumber. notice the custom indexing by user id |
| | 375 | $this->assertEquals(1, count($result[1]['2']['phonenumbers'])); |
| | 376 | |
| | 377 | // test the custom indexing of the phonenumbers |
| | 378 | $this->assertTrue(isset($result[0]['1']['phonenumbers']['42'])); |
| | 379 | $this->assertTrue(isset($result[0]['1']['phonenumbers']['43'])); |
| | 380 | $this->assertTrue(isset($result[1]['2']['phonenumbers']['91'])); |
| | 381 | |
| | 382 | // test the scalar values |
| | 383 | $this->assertEquals('ROMANB', $result[0]['nameUpper']); |
| | 384 | $this->assertEquals('JWAGE', $result[1]['nameUpper']); |
| | 385 | } |
| | 386 | |
| 472 | | $this->assertEquals(2, count($result)); |
| 473 | | $this->assertTrue(is_array($result)); |
| 474 | | $this->assertTrue(is_array($result[0])); |
| 475 | | $this->assertTrue(is_array($result[1])); |
| 476 | | |
| 477 | | // first user => 2 phonenumbers, 2 articles |
| 478 | | $this->assertEquals(2, count($result[0][0]['phonenumbers'])); |
| 479 | | $this->assertEquals(2, count($result[0][0]['articles'])); |
| 480 | | $this->assertEquals('ROMANB', $result[0]['nameUpper']); |
| 481 | | // second user => 1 phonenumber, 2 articles |
| 482 | | $this->assertEquals(1, count($result[1][0]['phonenumbers'])); |
| 483 | | $this->assertEquals(2, count($result[1][0]['articles'])); |
| 484 | | $this->assertEquals('JWAGE', $result[1]['nameUpper']); |
| 485 | | |
| 486 | | $this->assertEquals(42, $result[0][0]['phonenumbers'][0]['phonenumber']); |
| 487 | | $this->assertEquals(43, $result[0][0]['phonenumbers'][1]['phonenumber']); |
| 488 | | $this->assertEquals(91, $result[1][0]['phonenumbers'][0]['phonenumber']); |
| 489 | | |
| 490 | | $this->assertEquals('Getting things done!', $result[0][0]['articles'][0]['topic']); |
| 491 | | $this->assertEquals('ZendCon', $result[0][0]['articles'][1]['topic']); |
| 492 | | $this->assertEquals('LINQ', $result[1][0]['articles'][0]['topic']); |
| 493 | | $this->assertEquals('PHP6', $result[1][0]['articles'][1]['topic']); |
| | 509 | if ($hydrationMode == Doctrine::HYDRATE_ARRAY || $hydrationMode == Doctrine::HYDRATE_RECORD) { |
| | 510 | $this->assertEquals(2, count($result)); |
| | 511 | $this->assertTrue(is_array($result)); |
| | 512 | $this->assertTrue(is_array($result[0])); |
| | 513 | $this->assertTrue(is_array($result[1])); |
| | 514 | |
| | 515 | // first user => 2 phonenumbers, 2 articles |
| | 516 | $this->assertEquals(2, count($result[0][0]['phonenumbers'])); |
| | 517 | $this->assertEquals(2, count($result[0][0]['articles'])); |
| | 518 | $this->assertEquals('ROMANB', $result[0]['nameUpper']); |
| | 519 | // second user => 1 phonenumber, 2 articles |
| | 520 | $this->assertEquals(1, count($result[1][0]['phonenumbers'])); |
| | 521 | $this->assertEquals(2, count($result[1][0]['articles'])); |
| | 522 | $this->assertEquals('JWAGE', $result[1]['nameUpper']); |
| | 523 | |
| | 524 | $this->assertEquals(42, $result[0][0]['phonenumbers'][0]['phonenumber']); |
| | 525 | $this->assertEquals(43, $result[0][0]['phonenumbers'][1]['phonenumber']); |
| | 526 | $this->assertEquals(91, $result[1][0]['phonenumbers'][0]['phonenumber']); |
| | 527 | |
| | 528 | $this->assertEquals('Getting things done!', $result[0][0]['articles'][0]['topic']); |
| | 529 | $this->assertEquals('ZendCon', $result[0][0]['articles'][1]['topic']); |
| | 530 | $this->assertEquals('LINQ', $result[1][0]['articles'][0]['topic']); |
| | 531 | $this->assertEquals('PHP6', $result[1][0]['articles'][1]['topic']); |
| | 532 | } |
| 645 | | $this->assertEquals(2, count($result)); |
| 646 | | $this->assertTrue(is_array($result)); |
| 647 | | $this->assertTrue(is_array($result[0])); |
| 648 | | $this->assertTrue(is_array($result[1])); |
| 649 | | |
| 650 | | // first user => 2 phonenumbers, 2 articles, 1 comment on first article |
| 651 | | $this->assertEquals(2, count($result[0][0]['phonenumbers'])); |
| 652 | | $this->assertEquals(2, count($result[0][0]['articles'])); |
| 653 | | $this->assertEquals(1, count($result[0][0]['articles'][0]['comments'])); |
| 654 | | $this->assertEquals('ROMANB', $result[0]['nameUpper']); |
| 655 | | // second user => 1 phonenumber, 2 articles, no comments |
| 656 | | $this->assertEquals(1, count($result[1][0]['phonenumbers'])); |
| 657 | | $this->assertEquals(2, count($result[1][0]['articles'])); |
| 658 | | $this->assertEquals('JWAGE', $result[1]['nameUpper']); |
| 659 | | |
| 660 | | $this->assertEquals(42, $result[0][0]['phonenumbers'][0]['phonenumber']); |
| 661 | | $this->assertEquals(43, $result[0][0]['phonenumbers'][1]['phonenumber']); |
| 662 | | $this->assertEquals(91, $result[1][0]['phonenumbers'][0]['phonenumber']); |
| 663 | | |
| 664 | | $this->assertEquals('Getting things done!', $result[0][0]['articles'][0]['topic']); |
| 665 | | $this->assertEquals('ZendCon', $result[0][0]['articles'][1]['topic']); |
| 666 | | $this->assertEquals('LINQ', $result[1][0]['articles'][0]['topic']); |
| 667 | | $this->assertEquals('PHP6', $result[1][0]['articles'][1]['topic']); |
| 668 | | |
| 669 | | $this->assertEquals('First!', $result[0][0]['articles'][0]['comments'][0]['topic']); |
| | 688 | if ($hydrationMode == Doctrine::HYDRATE_ARRAY || $hydrationMode == Doctrine::HYDRATE_RECORD) { |
| | 689 | $this->assertEquals(2, count($result)); |
| | 690 | $this->assertTrue(is_array($result)); |
| | 691 | $this->assertTrue(is_array($result[0])); |
| | 692 | $this->assertTrue(is_array($result[1])); |
| | 693 | |
| | 694 | // first user => 2 phonenumbers, 2 articles, 1 comment on first article |
| | 695 | $this->assertEquals(2, count($result[0][0]['phonenumbers'])); |
| | 696 | $this->assertEquals(2, count($result[0][0]['articles'])); |
| | 697 | $this->assertEquals(1, count($result[0][0]['articles'][0]['comments'])); |
| | 698 | $this->assertEquals('ROMANB', $result[0]['nameUpper']); |
| | 699 | // second user => 1 phonenumber, 2 articles, no comments |
| | 700 | $this->assertEquals(1, count($result[1][0]['phonenumbers'])); |
| | 701 | $this->assertEquals(2, count($result[1][0]['articles'])); |
| | 702 | $this->assertEquals('JWAGE', $result[1]['nameUpper']); |
| | 703 | |
| | 704 | $this->assertEquals(42, $result[0][0]['phonenumbers'][0]['phonenumber']); |
| | 705 | $this->assertEquals(43, $result[0][0]['phonenumbers'][1]['phonenumber']); |
| | 706 | $this->assertEquals(91, $result[1][0]['phonenumbers'][0]['phonenumber']); |
| | 707 | |
| | 708 | $this->assertEquals('Getting things done!', $result[0][0]['articles'][0]['topic']); |
| | 709 | $this->assertEquals('ZendCon', $result[0][0]['articles'][1]['topic']); |
| | 710 | $this->assertEquals('LINQ', $result[1][0]['articles'][0]['topic']); |
| | 711 | $this->assertEquals('PHP6', $result[1][0]['articles'][1]['topic']); |
| | 712 | |
| | 713 | $this->assertEquals('First!', $result[0][0]['articles'][0]['comments'][0]['topic']); |
| | 714 | |
| | 715 | $this->assertTrue(isset($result[0][0]['articles'][0]['comments'])); |
| | 716 | $this->assertFalse(isset($result[0][0]['articles'][1]['comments'])); |
| | 717 | $this->assertFalse(isset($result[1][0]['articles'][0]['comments'])); |
| | 718 | $this->assertFalse(isset($result[1][0]['articles'][1]['comments'])); |
| | 719 | } |
| 790 | | $this->assertEquals(2, count($result)); |
| 791 | | $this->assertTrue(isset($result[0]['boards'])); |
| 792 | | $this->assertEquals(3, count($result[0]['boards'])); |
| 793 | | $this->assertTrue(isset($result[1]['boards'])); |
| 794 | | $this->assertEquals(1, count($result[1]['boards'])); |
| | 837 | if ($hydrationMode == Doctrine::HYDRATE_ARRAY || $hydrationMode == Doctrine::HYDRATE_RECORD) { |
| | 838 | $this->assertEquals(2, count($result)); |
| | 839 | $this->assertTrue(isset($result[0]['boards'])); |
| | 840 | $this->assertEquals(3, count($result[0]['boards'])); |
| | 841 | $this->assertTrue(isset($result[1]['boards'])); |
| | 842 | $this->assertEquals(1, count($result[1]['boards'])); |
| | 843 | } |