isIdenticalTo() публичный Метод

public isIdenticalTo ( $value, $failMessage = null )
Пример #1
0
 public function testIsIdenticalTo()
 {
     $this->if($asserter = new sut($generator = new asserter\generator()))->then->boolean($asserter->wasSet())->isFalse()->exception(function () use($asserter) {
         $asserter->isIdenticalTo(rand(-PHP_INT_MAX, PHP_INT_MAX));
     })->isInstanceOf('logicException')->hasMessage('Value is undefined')->if($asserter->setWith($value = rand(-PHP_INT_MAX, PHP_INT_MAX)))->then->object($asserter->isIdenticalTo($value))->isIdenticalTo($asserter)->if($diff = new diffs\variable())->then->exception(function () use($asserter, &$notIdenticalValue, $value) {
         $asserter->isIdenticalTo($notIdenticalValue = (string) $value);
     })->isInstanceOf('mageekguy\\atoum\\asserter\\exception')->hasMessage(sprintf($generator->getLocale()->_('%s is not identical to %s'), $asserter, $asserter->getTypeOf($notIdenticalValue)) . PHP_EOL . $diff->setExpected($notIdenticalValue)->setActual($asserter->getValue()))->exception(function () use($asserter, $notIdenticalValue, &$failMessage) {
         $asserter->isIdenticalTo($notIdenticalValue, $failMessage = uniqid());
     })->isInstanceOf('mageekguy\\atoum\\asserter\\exception')->hasMessage($failMessage . PHP_EOL . $diff->setExpected($notIdenticalValue)->setActual($asserter->getValue()));
 }
Пример #2
0
 protected function matches($actual)
 {
     if ($this->delta == null && $this->analyzer->isFloat($actual) === false && $this->analyzer->isFloat($this->expected) === false) {
         $asserter = new asserters\variable(null, $this->analyzer);
         if ($this->analyzer->isString($actual) && $this->ignoreCase) {
             $actual = strtolower($actual);
         }
         if ($this->analyzer->isArray($actual) && $this->canonicalize) {
             $actual = sort($actual);
         }
         $asserter->setWith($actual);
         if ($actual === 0 && $this->expected == '' || $actual == '' && $this->expected === 0) {
             $asserter->isIdenticalTo($this->expected);
         } else {
             $expected = $this->expected;
             if ($this->analyzer->isString($expected) && $this->ignoreCase) {
                 $expected = strtolower($expected);
             }
             if ($this->analyzer->isArray($expected) && $this->canonicalize) {
                 $expected = sort($expected);
             }
             $asserter->isEqualTo($expected);
         }
     } else {
         $asserter = new asserters\phpFloat(null, $this->analyzer);
         $asserter->setWith((double) $actual)->isNearlyEqualTo((double) $this->expected, $this->delta);
     }
 }