BatchIteratorTestCase.php 1.97 KB
Newer Older
doctrine's avatar
doctrine committed
1
<?php
2 3
require_once("UnitTestCase.php");

doctrine's avatar
doctrine committed
4
class Doctrine_BatchIteratorTestCase extends Doctrine_UnitTestCase {
doctrine's avatar
doctrine committed
5 6 7 8 9 10

    public function prepareTables() {
        $this->tables = array("Entity", "User","Group","Address","Phonenumber");
        parent::prepareTables();
    }

doctrine's avatar
doctrine committed
11
    public function testIterator() {
zYne's avatar
zYne committed
12
        $graph = new Doctrine_Query($this->connection);
doctrine's avatar
doctrine committed
13 14 15
        $entities = $graph->query("FROM Entity");
        $i = 0;
        foreach($entities as $entity) {
doctrine's avatar
doctrine committed
16
            $this->assertEqual(gettype($entity->name),"string");
doctrine's avatar
doctrine committed
17 18 19
            $i++;
        }
        $this->assertTrue($i == $entities->count());
20 21 22
        
        $user = $graph->query("FROM User");
        foreach($user[1]->Group as $group) {
doctrine's avatar
doctrine committed
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
            $this->assertTrue(is_string($group->name));
        }     
        
        $user = new User();
        $user->name = "tester";
        
        $user->Address[0]->address = "street 1";
        $user->Address[1]->address = "street 2";
        
        $this->assertEqual($user->name, "tester");
        $this->assertEqual($user->Address[0]->address, "street 1");
        $this->assertEqual($user->Address[1]->address, "street 2");

        foreach($user->Address as $address) {
            $a[] = $address->address;
        }
        $this->assertEqual($a, array("street 1", "street 2"));   

        $user->save();
        
43
        $user = $user->getTable()->find($user->obtainIdentifier());
doctrine's avatar
doctrine committed
44 45 46 47
        $this->assertEqual($user->name, "tester");
        $this->assertEqual($user->Address[0]->address, "street 1");
        $this->assertEqual($user->Address[1]->address, "street 2");
        
48
        $user = $user->getTable()->find($user->obtainIdentifier());
doctrine's avatar
doctrine committed
49 50 51 52 53 54 55 56
        $a = array();
        foreach($user->Address as $address) {
            $a[] = $address->address;
        }
        $this->assertEqual($a, array("street 1", "street 2"));                                    


        $user = $graph->query("FROM User");
doctrine's avatar
doctrine committed
57
    }
58

doctrine's avatar
doctrine committed
59 60
}
?>