/** * @depends testMakeRequirementsTidy */ public function testGetCollectionRequirements() { $requirements = array('concession' => array('Required' => null)); $this->assertEquals($requirements, My_ShantyMongo_Student::getCollectionRequirements(false)); $requirements = array('_id' => array('Validator:MongoId' => null), '_type' => array('Array' => null), 'name' => array('Document:My_ShantyMongo_Name' => null, 'Required' => null), 'email' => array('Required' => null, 'Validator:EmailAddress' => null), 'addresses' => array('DocumentSet' => null), 'addresses.$.street' => array('Required' => null), 'addresses.$.state' => array('Required' => null), 'addresses.$.suburb' => array('Required' => null), 'addresses.$.postcode' => array('Required' => null), 'friends' => array('DocumentSet:My_ShantyMongo_Users' => null), 'friends.$' => array('Document:My_ShantyMongo_User' => null, 'AsReference' => null), 'sex' => array('Required' => null, 'Validator:InArray' => array('F', 'M')), 'partner' => array('Document:My_ShantyMongo_User' => null, 'AsReference' => null), 'concession' => array('Required' => null)); $this->assertEquals($requirements, My_ShantyMongo_Student::getCollectionRequirements()); $requirements = array('_id' => array('Validator:MongoId' => null), '_type' => array('Array' => null), 'name' => array('Document:My_ShantyMongo_Name' => null, 'Required' => null), 'email' => array('Required' => null, 'Validator:EmailAddress' => null), 'addresses' => array('DocumentSet' => null), 'addresses.$.street' => array('Required' => null), 'addresses.$.state' => array('Required' => null), 'addresses.$.suburb' => array('Required' => null), 'addresses.$.postcode' => array('Required' => null), 'friends' => array('DocumentSet:My_ShantyMongo_Users' => null), 'friends.$' => array('Document:My_ShantyMongo_User' => null, 'AsReference' => null), 'sex' => array('Required' => null, 'Validator:InArray' => array('F', 'M')), 'partner' => array('Document:My_ShantyMongo_User' => null, 'AsReference' => null)); // This assertion is needed to ensure parent requirements have not been contaminated by child requirements $this->assertEquals($requirements, My_ShantyMongo_User::getCollectionRequirements()); }