public function testCloneWithQuery()
 {
     $a = new \AuthorBooks\Model\Address();
     ok($a->create(array('address' => 'Cindy'))->success);
     ok($a->create(array('address' => 'Hack'))->success);
     $addresses = new \AuthorBooks\Model\AddressCollection();
     $addresses->where()->equal('address', 'Cindy');
     $addresses->fetch();
     is(1, $addresses->size());
     $sql1 = $addresses->toSQL();
     $clone = clone $addresses;
     $sql2 = $clone->toSQL();
     is($sql1, $sql2);
     is(1, $clone->size());
     $clone->free();
     $clone->where()->equal('address', 'Hack');
     is(0, $clone->size());
 }
示例#2
0
 public function testHasManyRelationFetch()
 {
     $author = new \AuthorBooks\Model\Author();
     $ret = $author->create(array('name' => 'Z', 'email' => 'z@z', 'identity' => 'z'));
     $this->assertResultSuccess($ret);
     $address = new \AuthorBooks\Model\Address();
     $ret = $address->create(array('author_id' => $author->id, 'address' => 'Taiwan Taipei'));
     $this->assertResultSuccess($ret);
     $this->assertInstanceOf('LazyRecord\\BaseModel', $address->author);
     $this->assertEquals($author->id, $address->author->id);
     $ret = $address->create(array('author_id' => $author->id, 'address' => 'Taiwan Taipei II'));
     $this->assertResultSuccess($ret);
     // xxx: provide getAddresses() method generator
     $addresses = $author->addresses;
     $this->assertInstanceOf('LazyRecord\\BaseCollection', $addresses);
     $items = $addresses->items();
     $this->assertNotEmpty($items);
     $this->assertCount(2, $items);
 }
 /**
  * @rebuild false
  */
 public function testGeneralInterface()
 {
     $a = new \AuthorBooks\Model\Address();
     ok($a->getQueryDriver('default'));
     ok($a->getWriteQueryDriver());
     ok($a->getReadQueryDriver());
 }