Best Atoum code snippet using generator.callsToParentClassAreShunted
generator.php
Source:generator.php
...14 $this15 ->if($generator = new testedClass())16 ->then17 ->object($generator->getAdapter())->isEqualTo(new atoum\adapter())18 ->boolean($generator->callsToParentClassAreShunted())->isFalse()19 ;20 }21 public function testSetAdapter()22 {23 $this24 ->if($generator = new testedClass())25 ->then26 ->object($generator->setAdapter($adapter = new atoum\adapter()))->isIdenticalTo($generator)27 ->object($generator->getAdapter())->isIdenticalTo($adapter)28 ->object($generator->setAdapter())->isIdenticalTo($generator)29 ->object($generator->getAdapter())30 ->isInstanceOf('mageekguy\atoum\adapter')31 ->isNotIdenticalTo($adapter)32 ->isEqualTo(new atoum\adapter())33 ;34 }35 public function testSetReflectionClassFactory()36 {37 $this38 ->if($generator = new testedClass())39 ->then40 ->object($generator->setReflectionClassFactory($factory = function() {}))->isIdenticalTo($generator)41 ->object($generator->getReflectionClassFactory())->isIdenticalTo($factory)42 ->object($generator->setReflectionClassFactory())->isIdenticalTo($generator)43 ->object($defaultReflectionClassFactory = $generator->getReflectionClassFactory())44 ->isInstanceOf('closure')45 ->isNotIdenticalTo($factory)46 ->object($defaultReflectionClassFactory($this))->isEqualTo(new \reflectionClass($this))47 ;48 }49 public function testGetMethod()50 {51 $this52 ->if($generator = new testedClass())53 ->then54 ->object($generator->getMethod())->isEqualTo(new mock\generator\method($generator))55 ;56 }57 public function testSetDefaultNamespace()58 {59 $this60 ->if($generator = new testedClass())61 ->then62 ->object($generator->setDefaultNamespace($namespace = uniqid()))->isIdenticalTo($generator)63 ->string($generator->getDefaultNamespace())->isEqualTo('\\' . $namespace)64 ->object($generator->setDefaultNamespace('\\' . $namespace))->isIdenticalTo($generator)65 ->string($generator->getDefaultNamespace())->isEqualTo('\\' . $namespace)66 ->object($generator->setDefaultNamespace('\\' . $namespace . '\\'))->isIdenticalTo($generator)67 ->string($generator->getDefaultNamespace())->isEqualTo('\\' . $namespace)68 ->object($generator->setDefaultNamespace($namespace . '\\'))->isIdenticalTo($generator)69 ->string($generator->getDefaultNamespace())->isEqualTo('\\' . $namespace)70 ;71 }72 public function testShuntCallsToParentClass()73 {74 $this75 ->if($generator = new testedClass())76 ->then77 ->object($generator->shuntParentClassCalls())->isIdenticalTo($generator)78 ->boolean($generator->callsToParentClassAreShunted())->isTrue()79 ;80 }81 public function testUnshuntParentClassCalls()82 {83 $this84 ->if($generator = new testedClass())85 ->then86 ->object($generator->unshuntParentClassCalls())->isIdenticalTo($generator)87 ->boolean($generator->callsToParentClassAreShunted())->isFalse()88 ->if($generator->shuntParentClassCalls())89 ->then90 ->object($generator->unshuntParentClassCalls())->isIdenticalTo($generator)91 ->boolean($generator->callsToParentClassAreShunted())->isFalse()92 ;93 }94 public function testOverload()95 {96 $this97 ->if($generator = new testedClass())98 ->then99 ->object($generator->overload(new mock\php\method($method = uniqid())))->isIdenticalTo($generator)100 ->boolean($generator->isOverloaded($method))->isTrue()101 ;102 }103 public function testIsOverloaded()104 {105 $this106 ->if($generator = new testedClass())107 ->then108 ->boolean($generator->isOverloaded(uniqid()))->isFalse()109 ->if($generator->overload(new mock\php\method($method = uniqid())))110 ->then111 ->boolean($generator->isOverloaded($method))->isTrue()112 ;113 }114 public function testGetOverload()115 {116 $this117 ->if($generator = new testedClass())118 ->then119 ->variable($generator->getOverload(uniqid()))->isNull()120 ->if($generator->overload($overload = new mock\php\method(uniqid())))121 ->then122 ->object($generator->getOverload($overload->getName()))->isIdenticalTo($overload)123 ;124 }125 public function testShunt()126 {127 $this128 ->if($generator = new testedClass())129 ->then130 ->object($generator->shunt($method = uniqid()))->isIdenticalTo($generator)131 ->boolean($generator->isShunted($method))->isTrue()132 ->boolean($generator->isShunted(strtoupper($method)))->isTrue()133 ->boolean($generator->isShunted(strtolower($method)))->isTrue()134 ->boolean($generator->isShunted(uniqid()))->isFalse()135 ;136 }137 public function testOrphanize()138 {139 $this140 ->if($generator = new testedClass())141 ->then142 ->object($generator->orphanize($method = uniqid()))->isIdenticalTo($generator)143 ->boolean($generator->isOrphanized($method))->isTrue()144 ->boolean($generator->isShunted($method))->isTrue()145 ;146 }147 public function testGetMockedClassCodeForUnknownClass()148 {149 $this150 ->if($generator = new testedClass())151 ->and($adapter = new atoum\test\adapter())152 ->and($adapter->class_exists = false)153 ->and($generator->setAdapter($adapter))154 ->then155 ->string($generator->getMockedClassCode($unknownClass = uniqid()))->isEqualTo(156 'namespace mock {' . PHP_EOL .157 'final class ' . $unknownClass . ' implements \mageekguy\atoum\mock\aggregator' . PHP_EOL .158 '{' . PHP_EOL .159 $this->getMockControllerMethods() .160 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .161 "\t" . '{' . PHP_EOL .162 "\t\t" . 'if ($mockController === null)' . PHP_EOL .163 "\t\t" . '{' . PHP_EOL .164 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .165 "\t\t" . '}' . PHP_EOL .166 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .167 "\t\t" . '{' . PHP_EOL .168 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .169 "\t\t" . '}' . PHP_EOL .170 "\t\t" . '$this->getMockController()->disableMethodChecking();' . PHP_EOL .171 "\t\t" . 'if (isset($this->getMockController()->__construct) === true)' . PHP_EOL .172 "\t\t" . '{' . PHP_EOL .173 "\t\t\t" . '$this->getMockController()->invoke(\'__construct\', func_get_args());' . PHP_EOL .174 "\t\t" . '}' . PHP_EOL .175 "\t" . '}' . PHP_EOL .176 "\t" . 'public function __call($methodName, $arguments)' . PHP_EOL .177 "\t" . '{' . PHP_EOL .178 "\t\t" . 'if (isset($this->getMockController()->{$methodName}) === true)' . PHP_EOL .179 "\t\t" . '{' . PHP_EOL .180 "\t\t\t" . 'return $this->getMockController()->invoke($methodName, $arguments);' . PHP_EOL .181 "\t\t" . '}' . PHP_EOL .182 "\t\t" . 'else' . PHP_EOL .183 "\t\t" . '{' . PHP_EOL .184 "\t\t\t" . '$this->getMockController()->addCall($methodName, $arguments);' . PHP_EOL .185 "\t\t" . '}' . PHP_EOL .186 "\t" . '}' . PHP_EOL .187 "\t" . 'public static function getMockedMethods()' . PHP_EOL .188 "\t" . '{' . PHP_EOL .189 "\t\t" . 'return ' . var_export(array('__call'), true) . ';' . PHP_EOL .190 "\t" . '}' . PHP_EOL .191 '}' . PHP_EOL .192 '}'193 )194 ->if($unknownClass = __NAMESPACE__ . '\dummy')195 ->and($generator->generate($unknownClass))196 ->and($mockedUnknownClass = '\mock\\' . $unknownClass)197 ->and($dummy = new $mockedUnknownClass())198 ->and($dummyController = new atoum\mock\controller())199 ->and($dummyController->notControlNextNewMock())200 ->and($calls = new \mock\mageekguy\atoum\test\adapter\calls())201 ->and($dummyController->setCalls($calls))202 ->and($dummyController->control($dummy))203 ->then204 ->when(function() use ($dummy) { $dummy->bar(); })205 ->mock($calls)->call('addCall')->withArguments(new atoum\test\adapter\call('bar', array(), new decorators\addClass($dummy)))->once()206 ->when(function() use ($dummy) { $dummy->bar(); })207 ->mock($calls)->call('addCall')->withArguments(new atoum\test\adapter\call('bar', array(), new decorators\addClass($dummy)))->twice()208 ;209 }210 public function testGetMockedClassCodeForRealClass()211 {212 $this213 ->if($generator = new testedClass())214 ->and($reflectionMethodController = new mock\controller())215 ->and($reflectionMethodController->__construct = function() {})216 ->and($reflectionMethodController->getName = '__construct')217 ->and($reflectionMethodController->isConstructor = true)218 ->and($reflectionMethodController->getParameters = array())219 ->and($reflectionMethodController->isPublic = true)220 ->and($reflectionMethodController->isProtected = false)221 ->and($reflectionMethodController->isPrivate = false)222 ->and($reflectionMethodController->isFinal = false)223 ->and($reflectionMethodController->isStatic = false)224 ->and($reflectionMethodController->isAbstract = false)225 ->and($reflectionMethodController->returnsReference = false)226 ->and($reflectionMethod = new \mock\reflectionMethod(null, null))227 ->and($reflectionClassController = new mock\controller())228 ->and($reflectionClassController->__construct = function() {})229 ->and($reflectionClassController->getName = function() use (& $realClass) { return $realClass; })230 ->and($reflectionClassController->isFinal = false)231 ->and($reflectionClassController->isInterface = false)232 ->and($reflectionClassController->isAbstract = false)233 ->and($reflectionClassController->getMethods = array($reflectionMethod))234 ->and($reflectionClassController->getConstructor = $reflectionMethod)235 ->and($reflectionClass = new \mock\reflectionClass(null))236 ->and($generator->setReflectionClassFactory(function() use ($reflectionClass) { return $reflectionClass; }))237 ->and($adapter = new atoum\test\adapter())238 ->and($adapter->class_exists = function($class) use (& $realClass) { return ($class == '\\' . $realClass); })239 ->and($generator->setAdapter($adapter))240 ->then241 ->string($generator->getMockedClassCode($realClass = uniqid()))->isEqualTo(242 'namespace mock {' . PHP_EOL .243 'final class ' . $realClass . ' extends \\' . $realClass . ' implements \mageekguy\atoum\mock\aggregator' . PHP_EOL .244 '{' . PHP_EOL .245 $this->getMockControllerMethods() .246 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .247 "\t" . '{' . PHP_EOL .248 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0, -1));' . PHP_EOL .249 "\t\t" . 'if ($mockController === null)' . PHP_EOL .250 "\t\t" . '{' . PHP_EOL .251 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .252 "\t\t" . '}' . PHP_EOL .253 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .254 "\t\t" . '{' . PHP_EOL .255 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .256 "\t\t" . '}' . PHP_EOL .257 "\t\t" . 'if (isset($this->getMockController()->__construct) === true)' . PHP_EOL .258 "\t\t" . '{' . PHP_EOL .259 "\t\t\t" . '$this->getMockController()->invoke(\'__construct\', $arguments);' . PHP_EOL .260 "\t\t" . '}' . PHP_EOL .261 "\t\t" . 'else' . PHP_EOL .262 "\t\t" . '{' . PHP_EOL .263 "\t\t\t" . '$this->getMockController()->addCall(\'__construct\', $arguments);' . PHP_EOL .264 "\t\t\t" . 'call_user_func_array(\'parent::__construct\', $arguments);' . PHP_EOL .265 "\t\t" . '}' . PHP_EOL .266 "\t" . '}' . PHP_EOL .267 "\t" . 'public static function getMockedMethods()' . PHP_EOL .268 "\t" . '{' . PHP_EOL .269 "\t\t" . 'return ' . var_export(array('__construct'), true) . ';' . PHP_EOL .270 "\t" . '}' . PHP_EOL .271 '}' . PHP_EOL .272 '}'273 )274 ;275 }276 public function testGetMockedClassCodeForRealClassWithDeprecatedConstructor()277 {278 $this279 ->if($generator = new testedClass())280 ->and($reflectionMethodController = new mock\controller())281 ->and($reflectionMethodController->__construct = function() {})282 ->and($reflectionMethodController->getName = $realClass = uniqid())283 ->and($reflectionMethodController->isConstructor = true)284 ->and($reflectionMethodController->getParameters = array())285 ->and($reflectionMethodController->isPublic = true)286 ->and($reflectionMethodController->isProtected = false)287 ->and($reflectionMethodController->isPrivate = false)288 ->and($reflectionMethodController->isFinal = false)289 ->and($reflectionMethodController->isStatic = false)290 ->and($reflectionMethodController->isAbstract = false)291 ->and($reflectionMethodController->returnsReference = false)292 ->and($reflectionMethod = new \mock\reflectionMethod(null, null))293 ->and($reflectionClassController = new mock\controller())294 ->and($reflectionClassController->__construct = function() {})295 ->and($reflectionClassController->getName = $realClass)296 ->and($reflectionClassController->isFinal = false)297 ->and($reflectionClassController->isInterface = false)298 ->and($reflectionClassController->isAbstract = false)299 ->and($reflectionClassController->getMethods = array($reflectionMethod))300 ->and($reflectionClassController->getConstructor = $reflectionMethod)301 ->and($reflectionClass = new \mock\reflectionClass(null))302 ->and($generator->setReflectionClassFactory(function() use ($reflectionClass) { return $reflectionClass; }))303 ->and($adapter = new atoum\test\adapter())304 ->and($adapter->class_exists = function($class) use (& $realClass) { return ($class == '\\' . $realClass); })305 ->and($generator->setAdapter($adapter))306 ->then307 ->string($generator->getMockedClassCode($realClass))->isEqualTo(308 'namespace mock {' . PHP_EOL .309 'final class ' . $realClass . ' extends \\' . $realClass . ' implements \mageekguy\atoum\mock\aggregator' . PHP_EOL .310 '{' . PHP_EOL .311 $this->getMockControllerMethods() .312 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .313 "\t" . '{' . PHP_EOL .314 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0, -1));' . PHP_EOL .315 "\t\t" . 'if ($mockController === null)' . PHP_EOL .316 "\t\t" . '{' . PHP_EOL .317 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .318 "\t\t" . '}' . PHP_EOL .319 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .320 "\t\t" . '{' . PHP_EOL .321 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .322 "\t\t" . '}' . PHP_EOL .323 "\t\t" . 'if (isset($this->getMockController()->' . $realClass . ') === true)' . PHP_EOL .324 "\t\t" . '{' . PHP_EOL .325 "\t\t\t" . '$this->getMockController()->invoke(\'' . $realClass . '\', $arguments);' . PHP_EOL .326 "\t\t" . '}' . PHP_EOL .327 "\t\t" . 'else' . PHP_EOL .328 "\t\t" . '{' . PHP_EOL .329 "\t\t\t" . '$this->getMockController()->addCall(\'' . $realClass . '\', $arguments);' . PHP_EOL .330 "\t\t\t" . 'call_user_func_array(\'parent::' . $realClass . '\', $arguments);' . PHP_EOL .331 "\t\t" . '}' . PHP_EOL .332 "\t" . '}' . PHP_EOL .333 "\t" . 'public static function getMockedMethods()' . PHP_EOL .334 "\t" . '{' . PHP_EOL .335 "\t\t" . 'return ' . var_export(array($realClass), true) . ';' . PHP_EOL .336 "\t" . '}' . PHP_EOL .337 '}' . PHP_EOL .338 '}'339 )340 ;341 }342 public function testGetMockedClassCodeForRealClassWithCallsToParentClassShunted()343 {344 $this345 ->if($generator = new testedClass())346 ->and($reflectionMethodController = new mock\controller())347 ->and($reflectionMethodController->__construct = function() {})348 ->and($reflectionMethodController->getName = '__construct')349 ->and($reflectionMethodController->isConstructor = true)350 ->and($reflectionMethodController->getParameters = array())351 ->and($reflectionMethodController->isPublic = true)352 ->and($reflectionMethodController->isProtected = false)353 ->and($reflectionMethodController->isPrivate = false)354 ->and($reflectionMethodController->isFinal = false)355 ->and($reflectionMethodController->isStatic = false)356 ->and($reflectionMethodController->isAbstract = false)357 ->and($reflectionMethodController->returnsReference = false)358 ->and($reflectionMethod = new \mock\reflectionMethod(null, null))359 ->and($otherReflectionMethodController = new mock\controller())360 ->and($otherReflectionMethodController->__construct = function() {})361 ->and($otherReflectionMethodController->getName = $otherMethod = uniqid())362 ->and($otherReflectionMethodController->isConstructor = false)363 ->and($otherReflectionMethodController->getParameters = array())364 ->and($otherReflectionMethodController->isPublic = true)365 ->and($otherReflectionMethodController->isProtected = false)366 ->and($otherReflectionMethodController->isPrivate = false)367 ->and($otherReflectionMethodController->isFinal = false)368 ->and($otherReflectionMethodController->isStatic = false)369 ->and($otherReflectionMethodController->isAbstract = false)370 ->and($otherReflectionMethodController->returnsReference = false)371 ->and($otherReflectionMethod = new \mock\reflectionMethod(null, null))372 ->and($reflectionClassController = new mock\controller())373 ->and($reflectionClassController->__construct = function() {})374 ->and($reflectionClassController->getName = function() use (& $realClass) { return $realClass; })375 ->and($reflectionClassController->isFinal = false)376 ->and($reflectionClassController->isInterface = false)377 ->and($reflectionClassController->isAbstract = false)378 ->and($reflectionClassController->getMethods = array($reflectionMethod, $otherReflectionMethod))379 ->and($reflectionClassController->getConstructor = $reflectionMethod)380 ->and($reflectionClass = new \mock\reflectionClass(null))381 ->and($generator->setReflectionClassFactory(function() use ($reflectionClass) { return $reflectionClass; }))382 ->and($adapter = new atoum\test\adapter())383 ->and($adapter->class_exists = function($class) use (& $realClass) { return ($class == '\\' . $realClass); })384 ->and($generator->setAdapter($adapter))385 ->and($generator->shuntParentClassCalls())386 ->then387 ->string($generator->getMockedClassCode($realClass = uniqid()))->isEqualTo(388 'namespace mock {' . PHP_EOL .389 'final class ' . $realClass . ' extends \\' . $realClass . ' implements \mageekguy\atoum\mock\aggregator' . PHP_EOL .390 '{' . PHP_EOL .391 $this->getMockControllerMethods() .392 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .393 "\t" . '{' . PHP_EOL .394 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0, -1));' . PHP_EOL .395 "\t\t" . 'if ($mockController === null)' . PHP_EOL .396 "\t\t" . '{' . PHP_EOL .397 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .398 "\t\t" . '}' . PHP_EOL .399 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .400 "\t\t" . '{' . PHP_EOL .401 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .402 "\t\t" . '}' . PHP_EOL .403 "\t\t" . 'if (isset($this->getMockController()->__construct) === true)' . PHP_EOL .404 "\t\t" . '{' . PHP_EOL .405 "\t\t\t" . '$this->getMockController()->invoke(\'__construct\', $arguments);' . PHP_EOL .406 "\t\t" . '}' . PHP_EOL .407 "\t\t" . 'else' . PHP_EOL .408 "\t\t" . '{' . PHP_EOL .409 "\t\t\t" . '$this->getMockController()->addCall(\'__construct\', $arguments);' . PHP_EOL .410 "\t\t" . '}' . PHP_EOL .411 "\t" . '}' . PHP_EOL .412 "\t" . 'public function ' . $otherMethod . '()' . PHP_EOL .413 "\t" . '{' . PHP_EOL .414 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0));' . PHP_EOL .415 "\t\t" . 'if (isset($this->getMockController()->' . $otherMethod . ') === true)' . PHP_EOL .416 "\t\t" . '{' . PHP_EOL .417 "\t\t\t" . 'return $this->getMockController()->invoke(\'' . $otherMethod . '\', $arguments);' . PHP_EOL .418 "\t\t" . '}' . PHP_EOL .419 "\t\t" . 'else' . PHP_EOL .420 "\t\t" . '{' . PHP_EOL .421 "\t\t\t" . '$this->getMockController()->addCall(\'' . $otherMethod . '\', $arguments);' . PHP_EOL .422 "\t\t" . '}' . PHP_EOL .423 "\t" . '}' . PHP_EOL .424 "\t" . 'public static function getMockedMethods()' . PHP_EOL .425 "\t" . '{' . PHP_EOL .426 "\t\t" . 'return ' . var_export(array('__construct', $otherMethod), true) . ';' . PHP_EOL .427 "\t" . '}' . PHP_EOL .428 '}' . PHP_EOL .429 '}'430 )431 ;432 }433 public function testGetMockedClassCodeWithOverloadMethod()434 {435 $this436 ->if($generator = new testedClass())437 ->and($reflectionMethodController = new mock\controller())438 ->and($reflectionMethodController->__construct = function() {})439 ->and($reflectionMethodController->getName = '__construct')440 ->and($reflectionMethodController->isConstructor = true)441 ->and($reflectionMethodController->getParameters = array())442 ->and($reflectionMethodController->isPublic = true)443 ->and($reflectionMethodController->isProtected = false)444 ->and($reflectionMethodController->isPrivate = false)445 ->and($reflectionMethodController->isFinal = false)446 ->and($reflectionMethodController->isAbstract = false)447 ->and($reflectionMethodController->isStatic = false)448 ->and($reflectionMethodController->returnsReference = false)449 ->and($reflectionMethod = new \mock\reflectionMethod(null, null))450 ->and($reflectionClassController = new mock\controller())451 ->and($reflectionClassController->__construct = function() {})452 ->and($reflectionClassController->getName = function() use (& $realClass) { return $realClass; })453 ->and($reflectionClassController->isFinal = false)454 ->and($reflectionClassController->isInterface = false)455 ->and($reflectionClassController->getMethods = array($reflectionMethod))456 ->and($reflectionClassController->getConstructor = $reflectionMethod)457 ->and($reflectionClassController->isAbstract = false)458 ->and($reflectionClass = new \mock\reflectionClass(null))459 ->and($generator->setReflectionClassFactory(function() use ($reflectionClass) { return $reflectionClass; }))460 ->and($adapter = new atoum\test\adapter())461 ->and($adapter->class_exists = function($class) use (& $realClass) { return ($class == '\\' . $realClass); })462 ->and($generator->setAdapter($adapter))463 ->and($overloadedMethod = new mock\php\method('__construct'))464 ->and($overloadedMethod->addArgument($argument = new mock\php\method\argument(uniqid())))465 ->and($generator->overload($overloadedMethod))466 ->then467 ->string($generator->getMockedClassCode($realClass = uniqid()))->isEqualTo(468 'namespace mock {' . PHP_EOL .469 'final class ' . $realClass . ' extends \\' . $realClass . ' implements \mageekguy\atoum\mock\aggregator' . PHP_EOL .470 '{' . PHP_EOL .471 $this->getMockControllerMethods() .472 "\t" . '' . $overloadedMethod . PHP_EOL .473 "\t" . '{' . PHP_EOL .474 "\t\t" . '$arguments = array_merge(array(' . $argument . '), array_slice(func_get_args(), 1, -1));' . PHP_EOL .475 "\t\t" . 'if ($mockController === null)' . PHP_EOL .476 "\t\t" . '{' . PHP_EOL .477 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .478 "\t\t" . '}' . PHP_EOL .479 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .480 "\t\t" . '{' . PHP_EOL .481 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .482 "\t\t" . '}' . PHP_EOL .483 "\t\t" . 'if (isset($this->getMockController()->__construct) === true)' . PHP_EOL .484 "\t\t" . '{' . PHP_EOL .485 "\t\t\t" . '$this->getMockController()->invoke(\'__construct\', $arguments);' . PHP_EOL .486 "\t\t" . '}' . PHP_EOL .487 "\t\t" . 'else' . PHP_EOL .488 "\t\t" . '{' . PHP_EOL .489 "\t\t\t" . '$this->getMockController()->addCall(\'__construct\', $arguments);' . PHP_EOL .490 "\t\t\t" . 'call_user_func_array(\'parent::__construct\', $arguments);' . PHP_EOL .491 "\t\t" . '}' . PHP_EOL .492 "\t" . '}' . PHP_EOL .493 "\t" . 'public static function getMockedMethods()' . PHP_EOL .494 "\t" . '{' . PHP_EOL .495 "\t\t" . 'return ' . var_export(array('__construct'), true) . ';' . PHP_EOL .496 "\t" . '}' . PHP_EOL .497 '}' . PHP_EOL .498 '}'499 )500 ;501 }502 public function testGetMockedClassCodeWithAbstractMethod()503 {504 $this505 ->if($generator = new testedClass())506 ->and($realClass = uniqid())507 ->and($reflectionMethodController = new mock\controller())508 ->and($reflectionMethodController->__construct = function() {})509 ->and($reflectionMethodController->getName = function() { return '__construct'; })510 ->and($reflectionMethodController->isConstructor = true)511 ->and($reflectionMethodController->getParameters = array())512 ->and($reflectionMethodController->isPublic = true)513 ->and($reflectionMethodController->isProtected = false)514 ->and($reflectionMethodController->isPrivate = false)515 ->and($reflectionMethodController->isFinal = false)516 ->and($reflectionMethodController->isStatic = false)517 ->and($reflectionMethodController->isAbstract = true)518 ->and($reflectionMethodController->returnsReference = false)519 ->and($reflectionMethod = new \mock\reflectionMethod(null, null))520 ->and($reflectionClassController = new mock\controller())521 ->and($reflectionClassController->__construct = function() {})522 ->and($reflectionClassController->getName = function() use ($realClass) { return $realClass; })523 ->and($reflectionClassController->isFinal = false)524 ->and($reflectionClassController->isInterface = false)525 ->and($reflectionClassController->getMethods = array($reflectionMethod))526 ->and($reflectionClassController->getConstructor = $reflectionMethod)527 ->and($reflectionClassController->isAbstract = false)528 ->and($reflectionClass = new \mock\reflectionClass(null))529 ->and($generator->setReflectionClassFactory(function() use ($reflectionClass) { return $reflectionClass; }))530 ->and($adapter = new atoum\test\adapter())531 ->and($adapter->class_exists = function($class) use ($realClass) { return ($class == '\\' . $realClass); })532 ->and($generator->setAdapter($adapter))533 ->then534 ->string($generator->getMockedClassCode($realClass))->isEqualTo(535 'namespace mock {' . PHP_EOL .536 'final class ' . $realClass . ' extends \\' . $realClass . ' implements \mageekguy\atoum\mock\aggregator' . PHP_EOL .537 '{' . PHP_EOL .538 $this->getMockControllerMethods() .539 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .540 "\t" . '{' . PHP_EOL .541 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0, -1));' . PHP_EOL .542 "\t\t" . 'if ($mockController === null)' . PHP_EOL .543 "\t\t" . '{' . PHP_EOL .544 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .545 "\t\t" . '}' . PHP_EOL .546 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .547 "\t\t" . '{' . PHP_EOL .548 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .549 "\t\t" . '}' . PHP_EOL .550 "\t\t" . 'if (isset($this->getMockController()->__construct) === false)' . PHP_EOL .551 "\t\t" . '{' . PHP_EOL .552 "\t\t\t" . '$this->getMockController()->__construct = function() {};' . PHP_EOL .553 "\t\t" . '}' . PHP_EOL .554 "\t\t" . '$this->getMockController()->invoke(\'__construct\', $arguments);' . PHP_EOL .555 "\t" . '}' . PHP_EOL .556 "\t" . 'public static function getMockedMethods()' . PHP_EOL .557 "\t" . '{' . PHP_EOL .558 "\t\t" . 'return ' . var_export(array('__construct'), true) . ';' . PHP_EOL .559 "\t" . '}' . PHP_EOL .560 '}' . PHP_EOL .561 '}'562 )563 ;564 }565 public function testGetMockedClassCodeWithShuntedMethod()566 {567 $this568 ->if($generator = new testedClass())569 ->and($realClass = uniqid())570 ->and($reflectionMethodController = new mock\controller())571 ->and($reflectionMethodController->__construct = function() {})572 ->and($reflectionMethodController->getName = function() { return '__construct'; })573 ->and($reflectionMethodController->isConstructor = true)574 ->and($reflectionMethodController->isAbstract = false)575 ->and($reflectionMethodController->getParameters = array())576 ->and($reflectionMethodController->isPublic = true)577 ->and($reflectionMethodController->isProtected = false)578 ->and($reflectionMethodController->isPrivate = false)579 ->and($reflectionMethodController->isFinal = false)580 ->and($reflectionMethodController->isStatic = false)581 ->and($reflectionMethodController->returnsReference = false)582 ->and($reflectionMethod = new \mock\reflectionMethod(null, null))583 ->and($reflectionClassController = new mock\controller())584 ->and($reflectionClassController->__construct = function() {})585 ->and($reflectionClassController->getName = function() use ($realClass) { return $realClass; })586 ->and($reflectionClassController->isFinal = false)587 ->and($reflectionClassController->isInterface = false)588 ->and($reflectionClassController->getMethods = array($reflectionMethod))589 ->and($reflectionClassController->getConstructor = $reflectionMethod)590 ->and($reflectionClassController->isAbstract = false)591 ->and($reflectionClass = new \mock\reflectionClass(null))592 ->and($generator->setReflectionClassFactory(function() use ($reflectionClass) { return $reflectionClass; }))593 ->and($adapter = new atoum\test\adapter())594 ->and($adapter->class_exists = function($class) use ($realClass) { return ($class == '\\' . $realClass); })595 ->and($generator->setAdapter($adapter))596 ->and($generator->shunt('__construct'))597 ->then598 ->string($generator->getMockedClassCode($realClass))->isEqualTo(599 'namespace mock {' . PHP_EOL .600 'final class ' . $realClass . ' extends \\' . $realClass . ' implements \mageekguy\atoum\mock\aggregator' . PHP_EOL .601 '{' . PHP_EOL .602 $this->getMockControllerMethods() .603 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .604 "\t" . '{' . PHP_EOL .605 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0, -1));' . PHP_EOL .606 "\t\t" . 'if ($mockController === null)' . PHP_EOL .607 "\t\t" . '{' . PHP_EOL .608 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .609 "\t\t" . '}' . PHP_EOL .610 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .611 "\t\t" . '{' . PHP_EOL .612 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .613 "\t\t" . '}' . PHP_EOL .614 "\t\t" . 'if (isset($this->getMockController()->__construct) === false)' . PHP_EOL .615 "\t\t" . '{' . PHP_EOL .616 "\t\t\t" . '$this->getMockController()->__construct = function() {};' . PHP_EOL .617 "\t\t" . '}' . PHP_EOL .618 "\t\t" . '$this->getMockController()->invoke(\'__construct\', $arguments);' . PHP_EOL .619 "\t" . '}' . PHP_EOL .620 "\t" . 'public static function getMockedMethods()' . PHP_EOL .621 "\t" . '{' . PHP_EOL .622 "\t\t" . 'return ' . var_export(array('__construct'), true) . ';' . PHP_EOL .623 "\t" . '}' . PHP_EOL .624 '}' . PHP_EOL .625 '}'626 )627 ;628 }629 public function testGetMockedClassCodeWithCloneMethod()630 {631 $this632 ->if($generator = new testedClass())633 ->and($realClass = uniqid())634 ->and($reflectionMethodController = new mock\controller())635 ->and($reflectionMethodController->__construct = function() {})636 ->and($reflectionMethodController->getName = 'clone')637 ->and($reflectionMethodController->isConstructor = false)638 ->and($reflectionMethodController->isAbstract = false)639 ->and($reflectionMethodController->getParameters = array())640 ->and($reflectionMethodController->isPublic = true)641 ->and($reflectionMethodController->isProtected = false)642 ->and($reflectionMethodController->isPrivate = false)643 ->and($reflectionMethodController->isFinal = false)644 ->and($reflectionMethodController->isStatic = false)645 ->and($reflectionMethodController->returnsReference = false)646 ->and($reflectionMethod = new \mock\reflectionMethod(null, null))647 ->and($reflectionClassController = new mock\controller())648 ->and($reflectionClassController->__construct = function() {})649 ->and($reflectionClassController->getName = $realClass)650 ->and($reflectionClassController->isFinal = false)651 ->and($reflectionClassController->isInterface = false)652 ->and($reflectionClassController->getMethods = array($reflectionMethod))653 ->and($reflectionClassController->getConstructor = null)654 ->and($reflectionClassController->isAbstract = false)655 ->and($reflectionClass = new \mock\reflectionClass(null))656 ->and($generator->setReflectionClassFactory(function() use ($reflectionClass) { return $reflectionClass; }))657 ->and($adapter = new atoum\test\adapter())658 ->and($adapter->class_exists = function($class) use ($realClass) { return ($class == '\\' . $realClass); })659 ->and($generator->setAdapter($adapter))660 ->then661 ->string($generator->getMockedClassCode($realClass))->isEqualTo(662 'namespace mock {' . PHP_EOL .663 'final class ' . $realClass . ' extends \\' . $realClass . ' implements \mageekguy\atoum\mock\aggregator' . PHP_EOL .664 '{' . PHP_EOL .665 $this->getMockControllerMethods() .666 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .667 "\t" . '{' . PHP_EOL .668 "\t\t" . 'if ($mockController === null)' . PHP_EOL .669 "\t\t" . '{' . PHP_EOL .670 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .671 "\t\t" . '}' . PHP_EOL .672 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .673 "\t\t" . '{' . PHP_EOL .674 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .675 "\t\t" . '}' . PHP_EOL .676 "\t\t" . 'if (isset($this->getMockController()->__construct) === true)' . PHP_EOL .677 "\t\t" . '{' . PHP_EOL .678 "\t\t\t" . '$this->getMockController()->invoke(\'__construct\', func_get_args());' . PHP_EOL .679 "\t\t" . '}' . PHP_EOL .680 "\t" . '}' . PHP_EOL .681 "\t" . 'public static function getMockedMethods()' . PHP_EOL .682 "\t" . '{' . PHP_EOL .683 "\t\t" . 'return ' . var_export(array('__construct'), true) . ';' . PHP_EOL .684 "\t" . '}' . PHP_EOL .685 '}' . PHP_EOL .686 '}'687 )688 ;689 }690 public function testGetMockedClassCodeWithShuntedDeprecatedConstructor()691 {692 $this693 ->if($generator = new testedClass())694 ->and($reflectionMethodController = new mock\controller())695 ->and($reflectionMethodController->__construct = function() {})696 ->and($reflectionMethodController->getName = $realClass = uniqid())697 ->and($reflectionMethodController->isConstructor = true)698 ->and($reflectionMethodController->isAbstract = false)699 ->and($reflectionMethodController->getParameters = array())700 ->and($reflectionMethodController->isPublic = true)701 ->and($reflectionMethodController->isProtected = false)702 ->and($reflectionMethodController->isPrivate = false)703 ->and($reflectionMethodController->isFinal = false)704 ->and($reflectionMethodController->isStatic = false)705 ->and($reflectionMethodController->returnsReference = false)706 ->and($reflectionMethod = new \mock\reflectionMethod(null, null))707 ->and($reflectionClassController = new mock\controller())708 ->and($reflectionClassController->__construct = function() {})709 ->and($reflectionClassController->getName = $realClass)710 ->and($reflectionClassController->isFinal = false)711 ->and($reflectionClassController->isInterface = false)712 ->and($reflectionClassController->getMethods = array($reflectionMethod))713 ->and($reflectionClassController->getConstructor = $reflectionMethod)714 ->and($reflectionClassController->isAbstract = false)715 ->and($reflectionClass = new \mock\reflectionClass(null))716 ->and($generator->setReflectionClassFactory(function() use ($reflectionClass) { return $reflectionClass; }))717 ->and($adapter = new atoum\test\adapter())718 ->and($adapter->class_exists = function($class) use ($realClass) { return ($class == '\\' . $realClass); })719 ->and($generator->setAdapter($adapter))720 ->and($generator->shunt($realClass))721 ->then722 ->string($generator->getMockedClassCode($realClass))->isEqualTo(723 'namespace mock {' . PHP_EOL .724 'final class ' . $realClass . ' extends \\' . $realClass . ' implements \mageekguy\atoum\mock\aggregator' . PHP_EOL .725 '{' . PHP_EOL .726 $this->getMockControllerMethods() .727 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .728 "\t" . '{' . PHP_EOL .729 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0, -1));' . PHP_EOL .730 "\t\t" . 'if ($mockController === null)' . PHP_EOL .731 "\t\t" . '{' . PHP_EOL .732 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .733 "\t\t" . '}' . PHP_EOL .734 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .735 "\t\t" . '{' . PHP_EOL .736 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .737 "\t\t" . '}' . PHP_EOL .738 "\t\t" . 'if (isset($this->getMockController()->' . $realClass . ') === false)' . PHP_EOL .739 "\t\t" . '{' . PHP_EOL .740 "\t\t\t" . '$this->getMockController()->' . $realClass . ' = function() {};' . PHP_EOL .741 "\t\t" . '}' . PHP_EOL .742 "\t\t" . '$this->getMockController()->invoke(\'' . $realClass . '\', $arguments);' . PHP_EOL .743 "\t" . '}' . PHP_EOL .744 "\t" . 'public static function getMockedMethods()' . PHP_EOL .745 "\t" . '{' . PHP_EOL .746 "\t\t" . 'return ' . var_export(array($realClass), true) . ';' . PHP_EOL .747 "\t" . '}' . PHP_EOL .748 '}' . PHP_EOL .749 '}'750 )751 ;752 }753 public function testGetMockedClassCodeForInterface()754 {755 $this756 ->if($generator = new testedClass())757 ->and($reflectionMethodController = new mock\controller())758 ->and($reflectionMethodController->__construct = function() {})759 ->and($reflectionMethodController->getName = '__construct')760 ->and($reflectionMethodController->isConstructor = true)761 ->and($reflectionMethodController->getParameters = array())762 ->and($reflectionMethodController->isFinal = false)763 ->and($reflectionMethodController->isStatic = false)764 ->and($reflectionMethodController->returnsReference = false)765 ->and($reflectionMethod = new \mock\reflectionMethod(null, null))766 ->and($reflectionClassController = new mock\controller())767 ->and($reflectionClassController->__construct = function() {})768 ->and($reflectionClassController->getName = function() use (& $realClass) { return $realClass; })769 ->and($reflectionClassController->isFinal = false)770 ->and($reflectionClassController->isInterface = true)771 ->and($reflectionClassController->getMethods = array($reflectionMethod))772 ->and($reflectionClassController->isInstantiable = false)773 ->and($reflectionClassController->implementsInterface = false)774 ->and($reflectionClass = new \mock\reflectionClass(null))775 ->and($generator->setReflectionClassFactory(function() use ($reflectionClass) { return $reflectionClass; }))776 ->and($adapter = new atoum\test\adapter())777 ->and($adapter->class_exists = function($class) use (& $realClass) { return ($class == '\\' . $realClass); })778 ->and($generator->setAdapter($adapter))779 ->then780 ->string($generator->getMockedClassCode($realClass = uniqid()))->isEqualTo(781 'namespace mock {' . PHP_EOL .782 'final class ' . $realClass . ' implements \\' . $realClass . ', \mageekguy\atoum\mock\aggregator' . PHP_EOL .783 '{' . PHP_EOL .784 $this->getMockControllerMethods() .785 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .786 "\t" . '{' . PHP_EOL .787 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0, -1));' . PHP_EOL .788 "\t\t" . 'if ($mockController === null)' . PHP_EOL .789 "\t\t" . '{' . PHP_EOL .790 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .791 "\t\t" . '}' . PHP_EOL .792 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .793 "\t\t" . '{' . PHP_EOL .794 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .795 "\t\t" . '}' . PHP_EOL .796 "\t\t" . 'if (isset($this->getMockController()->__construct) === false)' . PHP_EOL .797 "\t\t" . '{' . PHP_EOL .798 "\t\t\t" . '$this->getMockController()->__construct = function() {};' . PHP_EOL .799 "\t\t" . '}' . PHP_EOL .800 "\t\t" . '$this->getMockController()->invoke(\'__construct\', $arguments);' . PHP_EOL .801 "\t" . '}' . PHP_EOL .802 "\t" . 'public function __call($methodName, $arguments)' . PHP_EOL .803 "\t" . '{' . PHP_EOL .804 "\t\t" . 'if (isset($this->getMockController()->{$methodName}) === true)' . PHP_EOL .805 "\t\t" . '{' . PHP_EOL .806 "\t\t\t" . 'return $this->getMockController()->invoke($methodName, $arguments);' . PHP_EOL .807 "\t\t" . '}' . PHP_EOL .808 "\t\t" . 'else' . PHP_EOL .809 "\t\t" . '{' . PHP_EOL .810 "\t\t\t" . '$this->getMockController()->addCall($methodName, $arguments);' . PHP_EOL .811 "\t\t" . '}' . PHP_EOL .812 "\t" . '}' . PHP_EOL .813 "\t" . 'public static function getMockedMethods()' . PHP_EOL .814 "\t" . '{' . PHP_EOL .815 "\t\t" . 'return ' . var_export(array('__construct', '__call'), true) . ';' . PHP_EOL .816 "\t" . '}' . PHP_EOL .817 '}' . PHP_EOL .818 '}'819 )820 ->if($reflectionClassController->implementsInterface = function($interface) { return ($interface == 'traversable' ? true : false); })821 ->and($generator->setReflectionClassFactory(function($class) use ($reflectionClass) { return ($class == 'iteratorAggregate' ? new \reflectionClass('iteratorAggregate') : $reflectionClass); }))822 ->then823 ->string($generator->getMockedClassCode($realClass = uniqid()))->isEqualTo(824 'namespace mock {' . PHP_EOL .825 'final class ' . $realClass . ' implements \\iteratorAggregate, \\' . $realClass . ', \mageekguy\atoum\mock\aggregator' . PHP_EOL .826 '{' . PHP_EOL .827 $this->getMockControllerMethods() .828 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .829 "\t" . '{' . PHP_EOL .830 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0, -1));' . PHP_EOL .831 "\t\t" . 'if ($mockController === null)' . PHP_EOL .832 "\t\t" . '{' . PHP_EOL .833 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .834 "\t\t" . '}' . PHP_EOL .835 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .836 "\t\t" . '{' . PHP_EOL .837 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .838 "\t\t" . '}' . PHP_EOL .839 "\t\t" . 'if (isset($this->getMockController()->__construct) === false)' . PHP_EOL .840 "\t\t" . '{' . PHP_EOL .841 "\t\t\t" . '$this->getMockController()->__construct = function() {};' . PHP_EOL .842 "\t\t" . '}' . PHP_EOL .843 "\t\t" . '$this->getMockController()->invoke(\'__construct\', $arguments);' . PHP_EOL .844 "\t" . '}' . PHP_EOL .845 "\t" . 'public function getIterator()' . PHP_EOL .846 "\t" . '{' . PHP_EOL .847 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0));' . PHP_EOL .848 "\t\t" . 'if (isset($this->getMockController()->getIterator) === false)' . PHP_EOL .849 "\t\t" . '{' . PHP_EOL .850 "\t\t\t" . '$this->getMockController()->getIterator = function() {};' . PHP_EOL .851 "\t\t" . '}' . PHP_EOL .852 "\t\t" . 'return $this->getMockController()->invoke(\'getIterator\', $arguments);' . PHP_EOL .853 "\t" . '}' . PHP_EOL .854 "\t" . 'public function __call($methodName, $arguments)' . PHP_EOL .855 "\t" . '{' . PHP_EOL .856 "\t\t" . 'if (isset($this->getMockController()->{$methodName}) === true)' . PHP_EOL .857 "\t\t" . '{' . PHP_EOL .858 "\t\t\t" . 'return $this->getMockController()->invoke($methodName, $arguments);' . PHP_EOL .859 "\t\t" . '}' . PHP_EOL .860 "\t\t" . 'else' . PHP_EOL .861 "\t\t" . '{' . PHP_EOL .862 "\t\t\t" . '$this->getMockController()->addCall($methodName, $arguments);' . PHP_EOL .863 "\t\t" . '}' . PHP_EOL .864 "\t" . '}' . PHP_EOL .865 "\t" . 'public static function getMockedMethods()' . PHP_EOL .866 "\t" . '{' . PHP_EOL .867 "\t\t" . 'return ' . var_export(array('__construct', 'getiterator', '__call'), true) . ';' . PHP_EOL .868 "\t" . '}' . PHP_EOL .869 '}' . PHP_EOL .870 '}'871 )872 ;873 }874 public function testGetMockedClassCodeForInterfaceWithStaticMethod()875 {876 $this877 ->if($generator = new testedClass())878 ->and($reflectionMethodController = new mock\controller())879 ->and($reflectionMethodController->__construct = function() {})880 ->and($reflectionMethodController->getName = $methodName = uniqid())881 ->and($reflectionMethodController->isConstructor = false)882 ->and($reflectionMethodController->getParameters = array())883 ->and($reflectionMethodController->isFinal = false)884 ->and($reflectionMethodController->isStatic = true)885 ->and($reflectionMethodController->returnsReference = false)886 ->and($reflectionMethod = new \mock\reflectionMethod(null, null))887 ->and($reflectionClassController = new mock\controller())888 ->and($reflectionClassController->__construct = function() {})889 ->and($reflectionClassController->getName = function() use (& $realClass) { return $realClass; })890 ->and($reflectionClassController->isFinal = false)891 ->and($reflectionClassController->isInterface = true)892 ->and($reflectionClassController->getMethods = array($reflectionMethod))893 ->and($reflectionClassController->isInstantiable = false)894 ->and($reflectionClassController->implementsInterface = false)895 ->and($reflectionClass = new \mock\reflectionClass(null))896 ->and($generator->setReflectionClassFactory(function() use ($reflectionClass) { return $reflectionClass; }))897 ->and($adapter = new atoum\test\adapter())898 ->and($adapter->class_exists = function($class) use (& $realClass) { return ($class == '\\' . $realClass); })899 ->and($generator->setAdapter($adapter))900 ->then901 ->string($generator->getMockedClassCode($realClass = uniqid()))->isEqualTo(902 'namespace mock {' . PHP_EOL .903 'final class ' . $realClass . ' implements \\' . $realClass . ', \mageekguy\atoum\mock\aggregator' . PHP_EOL .904 '{' . PHP_EOL .905 $this->getMockControllerMethods() .906 "\t" . 'public static function ' . $methodName . '()' . PHP_EOL .907 "\t" . '{' . PHP_EOL .908 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0, -1));' . PHP_EOL .909 "\t\t" . 'return call_user_func_array(array(\'parent\', \'' . $methodName . '\'), $arguments);' . PHP_EOL .910 "\t" . '}' . PHP_EOL .911 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .912 "\t" . '{' . PHP_EOL .913 "\t\t" . 'if ($mockController === null)' . PHP_EOL .914 "\t\t" . '{' . PHP_EOL .915 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .916 "\t\t" . '}' . PHP_EOL .917 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .918 "\t\t" . '{' . PHP_EOL .919 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .920 "\t\t" . '}' . PHP_EOL .921 "\t\t" . 'if (isset($this->getMockController()->__construct) === true)' . PHP_EOL .922 "\t\t" . '{' . PHP_EOL .923 "\t\t\t" . '$this->getMockController()->invoke(\'__construct\', func_get_args());' . PHP_EOL .924 "\t\t" . '}' . PHP_EOL .925 "\t" . '}' . PHP_EOL .926 "\t" . 'public function __call($methodName, $arguments)' . PHP_EOL .927 "\t" . '{' . PHP_EOL .928 "\t\t" . 'if (isset($this->getMockController()->{$methodName}) === true)' . PHP_EOL .929 "\t\t" . '{' . PHP_EOL .930 "\t\t\t" . 'return $this->getMockController()->invoke($methodName, $arguments);' . PHP_EOL .931 "\t\t" . '}' . PHP_EOL .932 "\t\t" . 'else' . PHP_EOL .933 "\t\t" . '{' . PHP_EOL .934 "\t\t\t" . '$this->getMockController()->addCall($methodName, $arguments);' . PHP_EOL .935 "\t\t" . '}' . PHP_EOL .936 "\t" . '}' . PHP_EOL .937 "\t" . 'public static function getMockedMethods()' . PHP_EOL .938 "\t" . '{' . PHP_EOL .939 "\t\t" . 'return ' . var_export(array($methodName, '__construct', '__call'), true) . ';' . PHP_EOL .940 "\t" . '}' . PHP_EOL .941 '}' . PHP_EOL .942 '}'943 )944 ->if($reflectionClassController->implementsInterface = function($interface) { return ($interface == 'traversable' ? true : false); })945 ->and($generator->setReflectionClassFactory(function($class) use ($reflectionClass) { return ($class == 'iteratorAggregate' ? new \reflectionClass('iteratorAggregate') : $reflectionClass); }))946 ->then947 ->string($generator->getMockedClassCode($realClass = uniqid()))->isEqualTo(948 'namespace mock {' . PHP_EOL .949 'final class ' . $realClass . ' implements \\iteratorAggregate, \\' . $realClass . ', \mageekguy\atoum\mock\aggregator' . PHP_EOL .950 '{' . PHP_EOL .951 $this->getMockControllerMethods() .952 "\t" . 'public static function ' . $methodName . '()' . PHP_EOL .953 "\t" . '{' . PHP_EOL .954 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0, -1));' . PHP_EOL .955 "\t\t" . 'return call_user_func_array(array(\'parent\', \'' . $methodName . '\'), $arguments);' . PHP_EOL .956 "\t" . '}' . PHP_EOL .957 "\t" . 'public function getIterator()' . PHP_EOL .958 "\t" . '{' . PHP_EOL .959 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0));' . PHP_EOL .960 "\t\t" . 'if (isset($this->getMockController()->getIterator) === false)' . PHP_EOL .961 "\t\t" . '{' . PHP_EOL .962 "\t\t\t" . '$this->getMockController()->getIterator = function() {};' . PHP_EOL .963 "\t\t" . '}' . PHP_EOL .964 "\t\t" . 'return $this->getMockController()->invoke(\'getIterator\', $arguments);' . PHP_EOL .965 "\t" . '}' . PHP_EOL .966 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .967 "\t" . '{' . PHP_EOL .968 "\t\t" . 'if ($mockController === null)' . PHP_EOL .969 "\t\t" . '{' . PHP_EOL .970 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .971 "\t\t" . '}' . PHP_EOL .972 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .973 "\t\t" . '{' . PHP_EOL .974 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .975 "\t\t" . '}' . PHP_EOL .976 "\t\t" . 'if (isset($this->getMockController()->__construct) === true)' . PHP_EOL .977 "\t\t" . '{' . PHP_EOL .978 "\t\t\t" . '$this->getMockController()->invoke(\'__construct\', func_get_args());' . PHP_EOL .979 "\t\t" . '}' . PHP_EOL .980 "\t" . '}' . PHP_EOL .981 "\t" . 'public function __call($methodName, $arguments)' . PHP_EOL .982 "\t" . '{' . PHP_EOL .983 "\t\t" . 'if (isset($this->getMockController()->{$methodName}) === true)' . PHP_EOL .984 "\t\t" . '{' . PHP_EOL .985 "\t\t\t" . 'return $this->getMockController()->invoke($methodName, $arguments);' . PHP_EOL .986 "\t\t" . '}' . PHP_EOL .987 "\t\t" . 'else' . PHP_EOL .988 "\t\t" . '{' . PHP_EOL .989 "\t\t\t" . '$this->getMockController()->addCall($methodName, $arguments);' . PHP_EOL .990 "\t\t" . '}' . PHP_EOL .991 "\t" . '}' . PHP_EOL .992 "\t" . 'public static function getMockedMethods()' . PHP_EOL .993 "\t" . '{' . PHP_EOL .994 "\t\t" . 'return ' . var_export(array($methodName, 'getiterator', '__construct', '__call'), true) . ';' . PHP_EOL .995 "\t" . '}' . PHP_EOL .996 '}' . PHP_EOL .997 '}'998 )999 ;1000 }1001 public function testGetMockedClassCodeForRealClassWithoutConstructor()1002 {1003 $this1004 ->if($generator = new testedClass())1005 ->and($reflectionMethodController = new mock\controller())1006 ->and($reflectionMethodController->__construct = function() {})1007 ->and($reflectionMethodController->getName = $methodName = uniqid())1008 ->and($reflectionMethodController->isConstructor = false)1009 ->and($reflectionMethodController->getParameters = array())1010 ->and($reflectionMethodController->isPublic = true)1011 ->and($reflectionMethodController->isProtected = false)1012 ->and($reflectionMethodController->isPrivate = false)1013 ->and($reflectionMethodController->isFinal = false)1014 ->and($reflectionMethodController->isAbstract = false)1015 ->and($reflectionMethodController->isStatic = false)1016 ->and($reflectionMethodController->returnsReference = false)1017 ->and($reflectionMethod = new \mock\reflectionMethod(null, null))1018 ->and($reflectionClassController = new mock\controller())1019 ->and($reflectionClassController->__construct = function() {})1020 ->and($reflectionClassController->getName = function() use (& $realClass) { return $realClass; })1021 ->and($reflectionClassController->isFinal = false)1022 ->and($reflectionClassController->isInterface = false)1023 ->and($reflectionClassController->getMethods = array($reflectionMethod))1024 ->and($reflectionClassController->getConstructor = null)1025 ->and($reflectionClassController->isAbstract = false)1026 ->and($reflectionClass = new \mock\reflectionClass(null))1027 ->and($generator->setReflectionClassFactory(function() use ($reflectionClass) { return $reflectionClass; }))1028 ->and($adapter = new atoum\test\adapter())1029 ->and($adapter->class_exists = function($class) use (& $realClass) { return ($class == '\\' . $realClass); })1030 ->and($generator->setAdapter($adapter))1031 ->then1032 ->string($generator->getMockedClassCode($realClass = uniqid()))->isEqualTo(1033 'namespace mock {' . PHP_EOL .1034 'final class ' . $realClass . ' extends \\' . $realClass . ' implements \mageekguy\atoum\mock\aggregator' . PHP_EOL .1035 '{' . PHP_EOL .1036 $this->getMockControllerMethods() .1037 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .1038 "\t" . '{' . PHP_EOL .1039 "\t\t" . 'if ($mockController === null)' . PHP_EOL .1040 "\t\t" . '{' . PHP_EOL .1041 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .1042 "\t\t" . '}' . PHP_EOL .1043 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .1044 "\t\t" . '{' . PHP_EOL .1045 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .1046 "\t\t" . '}' . PHP_EOL .1047 "\t\t" . 'if (isset($this->getMockController()->__construct) === true)' . PHP_EOL .1048 "\t\t" . '{' . PHP_EOL .1049 "\t\t\t" . '$this->getMockController()->invoke(\'__construct\', func_get_args());' . PHP_EOL .1050 "\t\t" . '}' . PHP_EOL .1051 "\t" . '}' . PHP_EOL .1052 "\t" . 'public function ' . $methodName . '()' . PHP_EOL .1053 "\t" . '{' . PHP_EOL .1054 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0));' . PHP_EOL .1055 "\t\t" . 'if (isset($this->getMockController()->' . $methodName . ') === true)' . PHP_EOL .1056 "\t\t" . '{' . PHP_EOL .1057 "\t\t\t" . 'return $this->getMockController()->invoke(\'' . $methodName . '\', $arguments);' . PHP_EOL .1058 "\t\t" . '}' . PHP_EOL .1059 "\t\t" . 'else' . PHP_EOL .1060 "\t\t" . '{' . PHP_EOL .1061 "\t\t\t" . '$this->getMockController()->addCall(\'' . $methodName . '\', $arguments);' . PHP_EOL .1062 "\t\t\t" . 'return call_user_func_array(\'parent::' . $methodName . '\', $arguments);' . PHP_EOL .1063 "\t\t" . '}' . PHP_EOL .1064 "\t" . '}' . PHP_EOL .1065 "\t" . 'public static function getMockedMethods()' . PHP_EOL .1066 "\t" . '{' . PHP_EOL .1067 "\t\t" . 'return ' . var_export(array('__construct', $methodName), true) . ';' . PHP_EOL .1068 "\t" . '}' . PHP_EOL .1069 '}' . PHP_EOL .1070 '}'1071 )1072 ;1073 }1074 public function testGetMockedClassCodeForAbstractClassWithConstructorInInterface()1075 {1076 $this1077 ->if($generator = new testedClass())1078 ->and($publicMethodController = new mock\controller())1079 ->and($publicMethodController->__construct = function() {})1080 ->and($publicMethodController->getName = '__construct')1081 ->and($publicMethodController->isConstructor = true)1082 ->and($publicMethodController->getParameters = array())1083 ->and($publicMethodController->isPublic = true)1084 ->and($publicMethodController->isProtected = false)1085 ->and($publicMethodController->isPrivate = false)1086 ->and($publicMethodController->isFinal = false)1087 ->and($publicMethodController->isStatic = false)1088 ->and($publicMethodController->isAbstract = true)1089 ->and($publicMethodController->returnsReference = false)1090 ->and($publicMethod = new \mock\reflectionMethod(null, null))1091 ->and($classController = new mock\controller())1092 ->and($classController->__construct = function() {})1093 ->and($classController->getName = $className = uniqid())1094 ->and($classController->isFinal = false)1095 ->and($classController->isInterface = false)1096 ->and($classController->isAbstract = true)1097 ->and($classController->getMethods = array($publicMethod))1098 ->and($classController->getConstructor = $publicMethod)1099 ->and($class = new \mock\reflectionClass(null))1100 ->and($generator->setReflectionClassFactory(function() use ($class) { return $class; }))1101 ->and($adapter = new atoum\test\adapter())1102 ->and($adapter->class_exists = function($class) use ($className) { return ($class == '\\' . $className); })1103 ->and($generator->setAdapter($adapter))1104 ->then1105 ->string($generator->getMockedClassCode($className))->isEqualTo(1106 'namespace mock {' . PHP_EOL .1107 'final class ' . $className . ' extends \\' . $className . ' implements \mageekguy\atoum\mock\aggregator' . PHP_EOL .1108 '{' . PHP_EOL .1109 $this->getMockControllerMethods() .1110 "\t" . 'public function __construct(\mageekguy\atoum\mock\controller $mockController = null)' . PHP_EOL .1111 "\t" . '{' . PHP_EOL .1112 "\t\t" . '$arguments = array_merge(array(), array_slice(func_get_args(), 0, -1));' . PHP_EOL .1113 "\t\t" . 'if ($mockController === null)' . PHP_EOL .1114 "\t\t" . '{' . PHP_EOL .1115 "\t\t\t" . '$mockController = \mageekguy\atoum\mock\controller::get();' . PHP_EOL .1116 "\t\t" . '}' . PHP_EOL .1117 "\t\t" . 'if ($mockController !== null)' . PHP_EOL .1118 "\t\t" . '{' . PHP_EOL .1119 "\t\t\t" . '$this->setMockController($mockController);' . PHP_EOL .1120 "\t\t" . '}' . PHP_EOL .1121 "\t\t" . 'if (isset($this->getMockController()->__construct) === false)' . PHP_EOL .1122 "\t\t" . '{' . PHP_EOL .1123 "\t\t\t" . '$this->getMockController()->__construct = function() {};' . PHP_EOL .1124 "\t\t" . '}' . PHP_EOL .1125 "\t\t" . '$this->getMockController()->invoke(\'__construct\', $arguments);' . PHP_EOL .1126 "\t" . '}' . PHP_EOL .1127 "\t" . 'public function __call($methodName, $arguments)' . PHP_EOL .1128 "\t" . '{' . PHP_EOL .1129 "\t\t" . 'if (isset($this->getMockController()->{$methodName}) === true)' . PHP_EOL .1130 "\t\t" . '{' . PHP_EOL .1131 "\t\t\t" . 'return $this->getMockController()->invoke($methodName, $arguments);' . PHP_EOL .1132 "\t\t" . '}' . PHP_EOL .1133 "\t\t" . 'else' . PHP_EOL .1134 "\t\t" . '{' . PHP_EOL .1135 "\t\t\t" . '$this->getMockController()->addCall($methodName, $arguments);' . PHP_EOL .1136 "\t\t" . '}' . PHP_EOL .1137 "\t" . '}' . PHP_EOL .1138 "\t" . 'public static function getMockedMethods()' . PHP_EOL .1139 "\t" . '{' . PHP_EOL .1140 "\t\t" . 'return ' . var_export(array('__construct', '__call'), true) . ';' . PHP_EOL .1141 "\t" . '}' . PHP_EOL .1142 '}' . PHP_EOL .1143 '}'1144 )1145 ;1146 }1147 public function testGenerate()1148 {1149 $this1150 ->if($generator = new testedClass())1151 ->then1152 ->exception(function() use ($generator) { $generator->generate(''); })1153 ->isInstanceOf('mageekguy\atoum\exceptions\runtime')1154 ->hasMessage('Class name \'\' is invalid')1155 ->exception(function() use ($generator) { $generator->generate('\\'); })1156 ->isInstanceOf('mageekguy\atoum\exceptions\runtime')1157 ->hasMessage('Class name \'\\\' is invalid')1158 ->exception(function() use ($generator, & $class) { $generator->generate($class = ('\\' . uniqid() . '\\')); })1159 ->isInstanceOf('mageekguy\atoum\exceptions\runtime')1160 ->hasMessage('Class name \'' . $class . '\' is invalid')1161 ->if($adapter = new atoum\test\adapter())1162 ->and($adapter->class_exists = false)1163 ->and($adapter->interface_exists = false)1164 ->and($generator->setAdapter($adapter))1165 ->and($class = uniqid('unknownClass'))1166 ->then1167 ->object($generator->generate($class))->isIdenticalTo($generator)1168 ->class('\mock\\' . $class)1169 ->hasNoParent()1170 ->hasInterface('mageekguy\atoum\mock\aggregator')1171 ->if($class = '\\' . uniqid('unknownClass'))1172 ->then1173 ->object($generator->generate($class))->isIdenticalTo($generator)1174 ->class('\mock' . $class)1175 ->hasNoParent()1176 ->hasInterface('mageekguy\atoum\mock\aggregator')1177 ->if($adapter->class_exists = true)1178 ->and($class = uniqid())1179 ->then1180 ->exception(function () use ($generator, $class) {1181 $generator->generate($class);1182 }1183 )1184 ->isInstanceOf('mageekguy\atoum\exceptions\logic')1185 ->hasMessage('Class \'\mock\\' . $class . '\' already exists')1186 ->if($class = '\\' . uniqid())1187 ->then1188 ->exception(function () use ($generator, $class) {1189 $generator->generate($class);1190 }1191 )1192 ->isInstanceOf('mageekguy\atoum\exceptions\logic')1193 ->hasMessage('Class \'\mock' . $class . '\' already exists')1194 ->if($class = uniqid())1195 ->and($adapter->class_exists = function($arg) use ($class) { return $arg === '\\' . $class; })1196 ->and($reflectionClassController = new mock\controller())1197 ->and($reflectionClassController->__construct = function() {})1198 ->and($reflectionClassController->isFinal = true)1199 ->and($reflectionClassController->isInterface = false)1200 ->and($reflectionClass = new \mock\reflectionClass(uniqid(), $reflectionClassController))1201 ->and($generator->setReflectionClassFactory(function() use ($reflectionClass) { return $reflectionClass; }))1202 ->then1203 ->exception(function () use ($generator, $class) {1204 $generator->generate($class);1205 }1206 )1207 ->isInstanceOf('mageekguy\atoum\exceptions\logic')1208 ->hasMessage('Class \'\\' . $class . '\' is final, unable to mock it')1209 ->if($class = '\\' . uniqid())1210 ->and($adapter->class_exists = function($arg) use ($class) { return $arg === $class; })1211 ->then1212 ->exception(function () use ($generator, $class) {1213 $generator->generate($class);1214 }1215 )1216 ->isInstanceOf('mageekguy\atoum\exceptions\logic')1217 ->hasMessage('Class \'' . $class . '\' is final, unable to mock it')1218 ->if($reflectionClassController->isFinal = false)1219 ->and($generator = new testedClass())1220 ->then1221 ->object($generator->generate(__CLASS__))->isIdenticalTo($generator)1222 ->class('\mock\\' . __CLASS__)1223 ->hasParent(__CLASS__)1224 ->hasInterface('mageekguy\atoum\mock\aggregator')1225 ->if($generator = new testedClass())1226 ->and($generator->shunt('__construct'))1227 ->then1228 ->boolean($generator->isShunted('__construct'))->isTrue()1229 ->object($generator->generate('reflectionMethod'))->isIdenticalTo($generator)1230 ->boolean($generator->isShunted('__construct'))->isFalse()1231 ->if($generator = new testedClass())1232 ->and($generator->shuntParentClassCalls())1233 ->then1234 ->object($generator->generate('reflectionParameter'))->isIdenticalTo($generator)1235 ->boolean($generator->callsToParentClassAreShunted())->isFalse()1236 ;1237 }1238 public function testMethodIsMockable()1239 {1240 $this1241 ->if($generator = new testedClass())1242 ->and($this->mockGenerator->orphanize('__construct'))1243 ->and($method = new \mock\reflectionMethod($this, $methodName = uniqid()))1244 ->and($this->calling($method)->getName = $methodName)1245 ->and($this->calling($method)->isFinal = false)1246 ->and($this->calling($method)->isStatic = false)1247 ->and($this->calling($method)->isAbstract = false)1248 ->and($this->calling($method)->isPrivate = false)1249 ->and($this->calling($method)->isProtected = false)...
callsToParentClassAreShunted
Using AI Code Generation
1$generator = new Generator();2$generator->callsToParentClassAreShunted();3$generator = new Generator();4$generator->callsToParentClassAreShunted();5$generator = new Generator();6$generator->callsToParentClassAreShunted();7$generator = new Generator();8$generator->callsToParentClassAreShunted();9$generator = new Generator();10$generator->callsToParentClassAreShunted();11$generator = new Generator();12$generator->callsToParentClassAreShunted();13$generator = new Generator();14$generator->callsToParentClassAreShunted();15$generator = new Generator();16$generator->callsToParentClassAreShunted();17$generator = new Generator();18$generator->callsToParentClassAreShunted();19$generator = new Generator();20$generator->callsToParentClassAreShunted();21$generator = new Generator();22$generator->callsToParentClassAreShunted();23$generator = new Generator();24$generator->callsToParentClassAreShunted();25$generator = new Generator();26$generator->callsToParentClassAreShunted();
callsToParentClassAreShunted
Using AI Code Generation
1$generator = new generator();2$generator->callsToParentClassAreShunted();3$generator = new generator();4$generator->callsToParentClassAreShunted();5$generator = new generator();6$generator->callsToParentClassAreShunted();7$generator = new generator();8$generator->callsToParentClassAreShunted();9function __autoload($className){10 include_once 'pathToTheClass.php';11}12PHP: How to use the class_exists() function?13PHP: How to use the is_subclass_of() function?14PHP: How to use the is_a() function?15PHP: How to use the interface_exists() function?16PHP: How to use the method_exists() function?17PHP: How to use the property_exists() function?18PHP: How to use the get_class() function?19PHP: How to use the get_class_vars() function?20PHP: How to use the get_class_methods() function?21PHP: How to use the get_parent_class() function?22PHP: How to use the get_declared_classes() function
callsToParentClassAreShunted
Using AI Code Generation
1$generator = new generator();2$generator->callsToParentClassAreShunted();3$generator = new generator();4$generator->callsToParentClassAreShunted();5$generator = new generator();6$generator->callsToParentClassAreShunted();7$generator = new generator();8$generator->callsToParentClassAreShunted();9$generator = new generator();10$generator->callsToParentClassAreShunted();11$generator = new generator();12$generator->callsToParentClassAreShunted();13$generator = new generator();14$generator->callsToParentClassAreShunted();15$generator = new generator();16$generator->callsToParentClassAreShunted();17$generator = new generator();18$generator->callsToParentClassAreShunted();19$generator = new generator();20$generator->callsToParentClassAreShunted();21$generator = new generator();22$generator->callsToParentClassAreShunted();23$generator = new generator();24$generator->callsToParentClassAreShunted();25$generator = new generator();26$generator->callsToParentClassAreShunted();
callsToParentClassAreShunted
Using AI Code Generation
1$generator = new generator();2$generator->callsToParentClassAreShunted(1);3$generator = new generator();4$generator->callsToParentClassAreShunted(2);5$generator = new generator();6$generator->callsToParentClassAreShunted(3);7$generator = new generator();8$generator->callsToParentClassAreShunted(4);9$generator = new generator();10$generator->callsToParentClassAreShunted(5);11$generator = new generator();12$generator->callsToParentClassAreShunted(6);13$generator = new generator();14$generator->callsToParentClassAreShunted(7);15$generator = new generator();16$generator->callsToParentClassAreShunted(8);17$generator = new generator();18$generator->callsToParentClassAreShunted(9);19$generator = new generator();20$generator->callsToParentClassAreShunted(10);21$generator = new generator();
callsToParentClassAreShunted
Using AI Code Generation
1$generator = new CodeGenerator();2$generator->callsToParentClassAreShunted();3$generator = new CodeGenerator();4$generator->callsToParentClassAreShunted();5$generator = new CodeGenerator();6$generator->callsToParentClassAreShunted();7$generator = new CodeGenerator();8$generator->callsToParentClassAreShunted();9$generator = new CodeGenerator();10$generator->callsToParentClassAreShunted();11$generator = new CodeGenerator();12$generator->callsToParentClassAreShunted();13$generator = new CodeGenerator();14$generator->callsToParentClassAreShunted();15$generator = new CodeGenerator();16$generator->callsToParentClassAreShunted();17$generator = new CodeGenerator();18$generator->callsToParentClassAreShunted();19$generator = new CodeGenerator();20$generator->callsToParentClassAreShunted();21$generator = new CodeGenerator();22$generator->callsToParentClassAreShunted();23$generator = new CodeGenerator();24$generator->callsToParentClassAreShunted();25$generator = new CodeGenerator();
callsToParentClassAreShunted
Using AI Code Generation
1$generator = new generator();2$generator->callsToParentClassAreShunted(true);3$generator->generateClass('childClass', 'parentClass');4echo $generator->getClassSource();5$generator = new generator();6$generator->callsToParentClassAreShunted(false);7$generator->generateClass('childClass', 'parentClass');8echo $generator->getClassSource();9$generator = new generator();10$generator->callsToParentClassAreShunted(true);11$generator->generateClass('childClass', 'parentClass');12echo $generator->getClassSource();13$generator = new generator();14$generator->callsToParentClassAreShunted(false);15$generator->generateClass('childClass', 'parentClass');16echo $generator->getClassSource();17$generator = new generator();18$generator->callsToParentClassAreShunted(true);19$generator->generateClass('childClass', 'parentClass');20echo $generator->getClassSource();21$generator = new generator();22$generator->callsToParentClassAreShunted(false);23$generator->generateClass('childClass', 'parentClass');24echo $generator->getClassSource();
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Execute automation tests with callsToParentClassAreShunted on a cloud-based Grid of 3000+ real browsers and operating systems for both web and mobile applications.
Test now for FreeGet 100 minutes of automation test minutes FREE!!