/**
* @depends testRetrieveRequirements
*/
public function testStoreRequirement()
{
$requirement = new Zend_Validate_Hostname();
Shanty_Mongo::storeRequirement('Validator:Hostname', $requirement);
$requirement = Shanty_Mongo::retrieveRequirement('Validator:Hostname');
$this->assertInternalType(PHPUnit_Framework_Constraint_IsType::TYPE_OBJECT, $requirement);
$this->assertEquals('Zend_Validate_Hostname', get_class($requirement));
// test requirements with options after the same requirement has been stored without options
$requirement = Shanty_Mongo::retrieveRequirement('Validator:Hostname', Zend_Validate_Hostname::ALLOW_IP);
$this->assertInternalType(PHPUnit_Framework_Constraint_IsType::TYPE_OBJECT, $requirement);
$this->assertEquals('Zend_Validate_Hostname', get_class($requirement));
$this->assertFalse($requirement->isValid('shantymongo.org'));
}