public function setUp() { $this->extractionTrait = $this->getObjectForTrait('Matryoshka\\Model\\Criteria\\ExtractionTrait'); $this->modelHydratorMock = $this->getMockBuilder('\\Zend\\Stdlib\\Hydrator\\AbstractHydrator')->disableOriginalConstructor()->setMethods(['extractValue', 'extractName'])->getMockForAbstractClass(); $this->objectHydratorMock = $this->getMockBuilder('\\Zend\\Stdlib\\Hydrator\\AbstractHydrator')->disableOriginalConstructor()->setMethods(['hydrateName', 'extractName'])->getMockForAbstractClass(); $object = new ActiveRecordObject(); $object->setHydrator($this->objectHydratorMock); $resultSet = new HydratingResultSet(); $resultSet->setObjectPrototype($object); $resultSet->setHydrator($this->modelHydratorMock); $this->testModel = new ConcreteAbstractModel(); $this->testModel->setResultSetPrototype($resultSet); $this->testModel->setHydrator($this->modelHydratorMock); }
/** * @{inheritDoc} * @see http://php.net/manual/en/mongocursor.count.php */ public function count() { if ($this->count === null && $this->dataSource instanceof MongoCursor) { $this->count = $this->dataSource->count(true); } return parent::count(); }
public function testCtor() { $hydrator = new ObjectProperty(); $resultSet = new HydratingResultSet($hydrator); $this->assertSame($hydrator, $resultSet->getHydrator()); $this->assertInstanceOf('Matryoshka\\Model\\ResultSet\\HydratingResultSetInterface', $resultSet); $this->assertInstanceOf('Matryoshka\\Model\\Object\\PrototypeStrategy\\PrototypeStrategyAwareInterface', $resultSet); $abstractObject = $this->getMockForAbstractClass('\\Matryoshka\\Model\\Object\\AbstractObject'); $resultSet = new HydratingResultSet(null, $abstractObject); $this->assertSame($abstractObject, $resultSet->getObjectPrototype()); $this->assertSame($abstractObject->getHydrator(), $resultSet->getHydrator()); //Defaults $resultSet = new HydratingResultSet(); $this->assertInstanceOf('\\ArrayObject', $resultSet->getObjectPrototype()); $this->assertInstanceOf('\\Zend\\Stdlib\\Hydrator\\ArraySerializable', $resultSet->getHydrator()); }
public function testGetObjectPrototype() { $this->assertSame($this->resultSet->getObjectPrototype(), $this->model->getObjectPrototype()); //Test model instance injection $modelAwareObject = new ActiveRecordObject(); $resultSet = new HydratingResultSet(); $resultSet->setObjectPrototype($modelAwareObject); $this->setResultSetPrototype($resultSet); $this->assertSame($modelAwareObject, $this->model->getObjectPrototype()); $this->assertSame($this->model, $modelAwareObject->getModel()); }