mageekguy\atoum\asserters\phpArray::hasKeys PHP Method

hasKeys() public method

public hasKeys ( array $keys, $failMessage = null )
$keys array
    public function hasKeys(array $keys, $failMessage = null)
    {
        if (sizeof($undefinedKeys = array_diff($keys, array_keys($this->valueIsSet()->value))) <= 0) {
            $this->pass();
        } else {
            $this->fail($failMessage ?: $this->_('%s has no keys %s', $this, $this->getTypeOf($undefinedKeys)));
        }
        return $this;
    }

Usage Example

Exemplo n.º 1
0
 public function testHasKeys()
 {
     $this->if($asserter = new sut($generator = new asserter\generator()))->then->exception(function () use($asserter) {
         $asserter->hasKeys(array(rand(0, PHP_INT_MAX)));
     })->isInstanceOf('mageekguy\\atoum\\exceptions\\logic')->hasMessage('Array is undefined')->if($asserter->setWith(array()))->then->exception(function () use($asserter) {
         $asserter->hasKeys(array(0));
     })->isInstanceOf('mageekguy\\atoum\\asserter\\exception')->hasMessage(sprintf($generator->getLocale()->_('%s should have keys %s'), $asserter, $asserter->getTypeOf(array(0))))->exception(function () use($asserter, &$message) {
         $asserter->hasKeys(array(0), $message = uniqid());
     })->isInstanceOf('mageekguy\\atoum\\asserter\\exception')->hasMessage($message)->if($asserter->setWith(array(uniqid(), uniqid(), uniqid(), uniqid(), uniqid())))->then->exception(function () use($asserter) {
         $asserter->hasKeys(array(0, 'first', 2, 'second'));
     })->isInstanceOf('mageekguy\\atoum\\asserter\\exception')->hasMessage(sprintf($generator->getLocale()->_('%s should have keys %s'), $asserter, $asserter->getTypeOf(array('first', 'second'))))->exception(function () use($asserter, &$message) {
         $asserter->hasKeys(array(0, 'first', 2, 'second'), $message = uniqid());
     })->isInstanceOf('mageekguy\\atoum\\asserter\\exception')->hasMessage($message)->object($asserter->hasKeys(array(0, 2, 4)))->isIdenticalTo($asserter);
 }