-
Notifications
You must be signed in to change notification settings - Fork 2.5k
/
PersistentCollectionFunctionalTest.php
73 lines (63 loc) · 2.08 KB
/
PersistentCollectionFunctionalTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
namespace Doctrine\Tests\ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\PersistentCollection;
use Doctrine\Tests\Models\ECommerce\ECommerceCart;
use Doctrine\Tests\Models\ECommerce\ECommerceProduct;
use Doctrine\Tests\OrmFunctionalTestCase;
require_once __DIR__ . '/../TestInit.php';
/**
* Tests the initialization of persistent collections.
* @author Austin Morris <austin.morris@gmail.com>
*/
class PersistentCollectionFunctionalTest extends OrmFunctionalTestCase
{
/**
* @var PersistentCollection
*/
protected $collection;
/**
* Setup tests.
*/
public function setUp()
{
$this->useModelSet('ecommerce');
parent::setUp();
$classMetaData = $this->_em->getClassMetadata('Doctrine\Tests\Models\ECommerce\ECommerceCart');
$this->collection = new PersistentCollection($this->_em, $classMetaData, new ArrayCollection);
$this->collection->setInitialized(false);
$this->collection->setOwner(new ECommerceCart(), $classMetaData->getAssociationMapping('products'));
}
/**
* Test that PersistentCollection::add() initializes the collection.
*/
public function testAddInitializesCollection()
{
$this->collection->add(new ECommerceProduct);
$this->assertTrue($this->collection->isInitialized());
}
/**
* Test that PersistentCollection::current() initializes the collection.
*/
public function testCurrentInitializesCollection()
{
$this->collection->current();
$this->assertTrue($this->collection->isInitialized());
}
/**
* Test that PersistentCollection::key() initializes the collection.
*/
public function testKeyInitializesCollection()
{
$this->collection->key();
$this->assertTrue($this->collection->isInitialized());
}
/**
* Test that PersistentCollection::next() initializes the collection.
*/
public function testNextInitializesCollection()
{
$this->collection->next();
$this->assertTrue($this->collection->isInitialized());
}
}