diff --git a/tests/Doctrine/Tests/ORM/PersistentCollectionFunctionalTest.php b/tests/Doctrine/Tests/ORM/PersistentCollectionFunctionalTest.php new file mode 100644 index 000000000..5206a70d7 --- /dev/null +++ b/tests/Doctrine/Tests/ORM/PersistentCollectionFunctionalTest.php @@ -0,0 +1,73 @@ + + */ +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()); + } +}