Example #1
0
 public function testGenerate()
 {
     $this->if($php = new testedClass())->then->object($php->generate($functionName = __NAMESPACE__ . '\\version_compare'))->isIdenticalTo($php)->boolean(function_exists($functionName))->isTrue()->boolean(version_compare('5.4.0', '5.3.0'))->isFalse()->integer(\version_compare('5.4.0', '5.3.0'))->isEqualTo(1)->boolean(version_compare('5.3.0', '5.4.0'))->isTrue()->integer(\version_compare('5.3.0', '5.4.0'))->isEqualTo(-1)->exception(function () use($php) {
         $php->generate(__NAMESPACE__ . '\\doesSomething');
     })->isInstanceof('mageekguy\\atoum\\exceptions\\logic\\invalidArgument')->hasMessage('Function \'' . __NAMESPACE__ . '\\doesSomething\' already exists')->if($php->{$functionName} = $returnValue = uniqid())->then->string(version_compare(uniqid(), uniqid()))->isEqualTo($returnValue)->object($php->generate($functionName = __NAMESPACE__ . '\\version_compare'))->isIdenticalTo($php)->boolean(version_compare('5.4.0', '5.3.0'))->isFalse()->boolean(version_compare('5.3.0', '5.4.0'))->isTrue()->object($php->generate($unknownFunctionName = __NAMESPACE__ . '\\foo'))->isIdenticalTo($php)->variable(foo())->isNull()->if($php->{$unknownFunctionName} = $fooReturnValue = uniqid())->then->string(foo())->isEqualTo($fooReturnValue)->if($php->{$functionName} = $returnValue = uniqid())->when(function () use($php, $functionName) {
         unset($php->{$functionName});
     })->then->boolean(version_compare('5.4.0', '5.3.0'))->isFalse()->boolean(version_compare('5.3.0', '5.4.0'))->isTrue()->when(function () use($php, $unknownFunctionName) {
         unset($php->{$unknownFunctionName});
     })->then->variable(foo())->isNull();
 }