Best Atoum code snippet using notEmptyTest.someOtherStaticMethod
test.php
Source:test.php  
...8		static public function staticMethod($return)9		{10			return $return;11		}12		static public function someOtherStaticMethod($return1, $return2, $return3)13		{14			return array($return1, $return2, $return3);15		}16	}17	class dummy18	{19		public function __construct($firstArgument, $secondArgument) {}20	}21}22namespace mageekguy\atoum\mock\mageekguy\atoum23{24	class test {}25}26namespace mageekguy\atoum\tests\units27{28	use29		mageekguy\atoum,30		mageekguy\atoum\mock31	;32	require_once __DIR__ . '/../runner.php';33	/**34	 * @ignore on35	 * @tags empty fake dummy36	 * @maxChildrenNumber 66637	 */38	class emptyTest extends atoum\test {}39	/**40	 * @ignore on41	 */42	class notEmptyTest extends atoum\test43	{44		/**45		@tags test method one method46		*/47		public function testMethod1() {}48		/**49		 * @extensions mbstring socket50		 * @ignore off51		 * @tags test method two52		*/53		public function testMethod2() {}54		public function aDataProvider()55		{56		}57	}58	/**59	 * @ignore on60	 * @tags first61	 */62	class inheritedTagsTest extends atoum\test63	{64		/**65		 * @tags second third66		 */67		public function testMethod1() {}68		/**69		 * @tags first second third70		 */71		public function testMethod2() {}72	}73	/**74	 * @ignore on75	 */76	class dataProviderTest extends atoum\test77	{78		public function testMethod1(\stdClass $a) {}79		public function testMethod2(\splFileInfo $a) {}80		public function testMethod3($a) {}81	}82	class foo extends atoum\test83	{84		public function __construct()85		{86			$this->setTestedClassName('mageekguy\atoum\test');87			parent::__construct();88		}89	}90	/**91	 * @ignore on92	 */93	class withStatic extends atoum\test94	{95		public function __construct()96		{97			$this->setTestedClassName('mageekguy\atoum\withStatic');98			parent::__construct();99		}100	}101	class test extends atoum\test102	{103		public function testClassConstants()104		{105			$this106				->string(atoum\test::testMethodPrefix)->isEqualTo('test')107				->string(atoum\test::runStart)->isEqualTo('testRunStart')108				->string(atoum\test::beforeSetUp)->isEqualTo('beforeTestSetUp')109				->string(atoum\test::afterSetUp)->isEqualTo('afterTestSetUp')110				->string(atoum\test::beforeTestMethod)->isEqualTo('beforeTestMethod')111				->string(atoum\test::fail)->isEqualTo('testAssertionFail')112				->string(atoum\test::error)->isEqualTo('testError')113				->string(atoum\test::uncompleted)->isEqualTo('testUncompleted')114				->string(atoum\test::skipped)->isEqualTo('testSkipped')115				->string(atoum\test::exception)->isEqualTo('testException')116				->string(atoum\test::success)->isEqualTo('testAssertionSuccess')117				->string(atoum\test::afterTestMethod)->isEqualTo('afterTestMethod')118				->string(atoum\test::beforeTearDown)->isEqualTo('beforeTestTearDown')119				->string(atoum\test::afterTearDown)->isEqualTo('afterTestTearDown')120				->string(atoum\test::runStop)->isEqualTo('testRunStop')121				->string(atoum\test::defaultNamespace)->isEqualTo('#(?:^|\\\\)tests?\\\\units?\\\\#i')122				->string(atoum\test::defaultMethodPrefix)->isEqualTo('#^(?:test|_*[^_]+_should_)#i')123			;124		}125		public function test__construct()126		{127			$this128				->if($test = new emptyTest())129				->then130					->object($test->getScore())->isInstanceOf('mageekguy\atoum\score')131					->object($test->getLocale())->isEqualTo(new atoum\locale())132					->object($test->getAdapter())->isEqualTo(new atoum\adapter())133					->object($test->getPhpFunctionMocker())->isInstanceOf('mageekguy\atoum\php\mocker\funktion')134					->object($test->getPhpConstantMocker())->isInstanceOf('mageekguy\atoum\php\mocker\constant')135					->object($test->getFactoryBuilder())->isInstanceOf('mageekguy\atoum\factory\builder\closure')136					->boolean($test->isIgnored())->isTrue()137					->boolean($test->debugModeIsEnabled())->isFalse()138					->array($test->getAllTags())->isEqualTo($tags = array('empty', 'fake', 'dummy'))139					->array($test->getTags())->isEqualTo($tags)140					->array($test->getMethodTags())->isEmpty()141					->array($test->getDataProviders())->isEmpty()142					->integer($test->getMaxChildrenNumber())->isEqualTo(666)143					->boolean($test->codeCoverageIsEnabled())->isEqualTo(extension_loaded('xdebug'))144					->string($test->getTestNamespace())->isEqualTo(atoum\test::defaultNamespace)145					->integer($test->getMaxChildrenNumber())->isEqualTo(666)146					->variable($test->getBootstrapFile())->isNull()147					->array($test->getClassPhpVersions())->isEmpty()148					->array($test->getMandatoryClassExtensions())->isEmpty()149					->array($test->getMandatoryMethodExtensions())->isEmpty()150					->variable($test->getXdebugConfig())->isNull()151			;152		}153		public function test__toString()154		{155			$this->castToString($this)->isEqualTo(__CLASS__);156		}157		public function test__get()158		{159			$this160				->if($test = new emptyTest())161				->then162					->object($test->assert)->isInstanceOf('mageekguy\atoum\test')163					->object($test->define)->isInstanceOf('mageekguy\atoum\test\assertion\aliaser')164					->object($test->mockGenerator)->isInstanceOf('mageekguy\atoum\mock\generator')165				->if($test->setMockGenerator($mockGenerator = new atoum\test\mock\generator($this)))166				->then167					->object($test->mockGenerator)->isIdenticalTo($mockGenerator)168				->if($test->setAsserterGenerator($asserterGenerator = new atoum\test\asserter\generator(new emptyTest())))169				->then170					->object($test->assert)->isIdenticalTo($test)171					->variable($test->exception)->isNull()172					->exception(function() use ($test, & $property) { $test->{$property = uniqid()}; })173						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')174						->hasMessage('Asserter \'' . $property . '\' does not exist')175					->exception($test->exception)176						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')177						->hasMessage('Asserter \'' . $property . '\' does not exist')178			;179		}180		public function test__set()181		{182			$this183				->given(184					$test = new emptyTest(),185					$test->setAssertionManager($assertionManager = new \mock\mageekguy\atoum\test\assertion\manager())186				)187				->if($test->{$event = uniqid()} = $handler = function() {})188				->then189					->mock($assertionManager)->call('setHandler')->withArguments($event, $handler)->once()190			;191		}192		public function testEnableDebugMode()193		{194			$this195				->if($test = new emptyTest())196				->then197					->object($test->enableDebugMode())->isIdenticalTo($test)198					->boolean($test->debugModeIsEnabled())->isTrue()199					->object($test->enableDebugMode())->isIdenticalTo($test)200					->boolean($test->debugModeIsEnabled())->isTrue()201			;202		}203		public function testDisableDebugMode()204		{205			$this206				->if($test = new emptyTest())207				->then208					->object($test->disableDebugMode())->isIdenticalTo($test)209					->boolean($test->debugModeIsEnabled())->isFalse()210					->object($test->disableDebugMode())->isIdenticalTo($test)211					->boolean($test->debugModeIsEnabled())->isFalse()212				->if($test->enableDebugMode())213				->then214					->object($test->disableDebugMode())->isIdenticalTo($test)215					->boolean($test->debugModeIsEnabled())->isFalse()216			;217		}218		public function testEnableCodeCoverage()219		{220			$this221				->assert('Code coverage must be enabled only if xdebug is available')222					->if($adapter = new atoum\test\adapter())223					->and($adapter->extension_loaded = function($extension) { return $extension == 'xdebug'; })224					->and($test = new emptyTest($adapter))225					->then226						->boolean($test->codeCoverageIsEnabled())->isTrue()227						->object($test->enableCodeCoverage())->isIdenticalTo($test)228						->boolean($test->codeCoverageIsEnabled())->isTrue()229					->if($test->disableCodeCoverage())230					->then231						->boolean($test->codeCoverageIsEnabled())->isFalse()232						->object($test->enableCodeCoverage())->isIdenticalTo($test)233						->boolean($test->codeCoverageIsEnabled())->isTrue()234				->assert('Code coverage must not be enabled if xdebug is not available')235					->if($adapter->extension_loaded = function($extension) { return $extension != 'xdebug'; })236					->and($test = new emptyTest($adapter))237					->then238						->boolean($test->codeCoverageIsEnabled())->isFalse()239						->object($test->enableCodeCoverage())->isIdenticalTo($test)240						->boolean($test->codeCoverageIsEnabled())->isFalse()241			;242		}243		public function testDisableCodeCoverage()244		{245			$this246				->if($adapter = new atoum\test\adapter())247				->and($adapter->extension_loaded = true)248				->and($test = new emptyTest($adapter))249				->then250					->boolean($test->codeCoverageIsEnabled())->isTrue()251					->object($test->disableCodeCoverage())->isIdenticalTo($test)252					->boolean($test->codeCoverageIsEnabled())->isFalse()253				->if($test->enableCodeCoverage())254				->then255					->boolean($test->codeCoverageIsEnabled())->isTrue()256					->object($test->disableCodeCoverage())->isIdenticalTo($test)257					->boolean($test->codeCoverageIsEnabled())->isFalse()258			;259		}260		public function testGetMockGenerator()261		{262			$this263				->if($test = new emptyTest())264				->then265					->object($test->getMockGenerator())->isInstanceOf('mageekguy\atoum\mock\generator')266				->if($test->setMockGenerator($mockGenerator = new atoum\test\mock\generator($this)))267				->then268					->object($test->getMockGenerator())->isIdenticalTo($mockGenerator)269					->object($mockGenerator->getTest())->isIdenticalTo($test)270			;271		}272		public function testSetMockGenerator()273		{274			$this275				->if($test = new emptyTest())276				->then277					->object($test->setMockGenerator($mockGenerator = new atoum\test\mock\generator($this)))->isIdenticalTo($test)278					->object($test->getMockGenerator())->isIdenticalTo($mockGenerator)279					->object($mockGenerator->getTest())->isIdenticalTo($test)280			;281		}282		public function testSetMockAutoloader()283		{284			$this285				->if($test = new emptyTest())286				->then287					->object($test->setMockAutoloader($mockAutoloader = new atoum\autoloader\mock()))->isIdenticalTo($test)288					->object($test->getMockAutoloader())->isIdenticalTo($mockAutoloader)289			;290		}291		public function testGetAsserterGenerator()292		{293			$this294				->if($test = new emptyTest())295				->then296					->object($test->getAsserterGenerator())->isInstanceOf('mageekguy\atoum\test\asserter\generator')297				->if($test->setAsserterGenerator($asserterGenerator = new atoum\test\asserter\generator($this)))298				->then299					->object($test->getAsserterGenerator())->isIdenticalTo($asserterGenerator)300					->object($asserterGenerator->getTest())->isIdenticalTo($test)301			;302		}303		public function testSetAsserterGenerator()304		{305			$this306				->if($test = new emptyTest())307				->then308					->object($test->setAsserterGenerator($asserterGenerator = new atoum\test\asserter\generator($test)))->isIdenticalTo($test)309					->object($test->getAsserterGenerator())->isIdenticalTo($asserterGenerator)310					->object($asserterGenerator->getTest())->isIdenticalTo($test)311					->object($asserterGenerator->getLocale())->isIdenticalTo($test->getLocale())312			;313		}314		public function testGetFactoryBuilder()315		{316			$this317				->if($test = new emptyTest())318				->then319					->object($test->getFactoryBuilder())->isInstanceOf('mageekguy\atoum\factory\builder\closure')320				->if($test->setFactoryBuilder($factoryBuilder = new \mock\atoum\factory\builder()))321				->then322					->object($test->getFactoryBuilder())->isIdenticalTo($factoryBuilder)323			;324		}325		public function testSetFactoryBuilder()326		{327			$this328				->if($test = new emptyTest())329				->then330					->object($test->setFactoryBuilder($factoryBuilder = new \mock\atoum\factory\builder()))->isIdenticalTo($test)331					->object($test->getFactoryBuilder())->isIdenticalTo($factoryBuilder)332					->object($test->setFactoryBuilder())->isIdenticalTo($test)333					->object($test->getFactoryBuilder())334						->isEqualTo(new atoum\Factory\builder\closure())335						->isNotIdenticalTo($factoryBuilder)336			;337		}338		public function testSetPhpFunktionMocker()339		{340			$this341				->if($test = new emptyTest())342				->then343					->object($test->setPhpFunctionMocker($phpFunctionMocker = new atoum\php\mocker\funktion()))->isIdenticalTo($test)344					->object($test->getPhpFunctionMocker())->isIdenticalTo($phpFunctionMocker)345					->object($test->setPhpFunctionMocker())->isIdenticalTo($test)346					->object($test->getPhpFunctionMocker())347						->isNotIdenticalTo($phpFunctionMocker)348						->isInstanceOf('mageekguy\atoum\php\mocker\funktion')349			;350		}351		public function testSetTestNamespace()352		{353			$this354				->if($test = new self())355				->then356					->object($test->setTestNamespace($testNamespace = uniqid('_')))->isIdenticalTo($test)357					->string($test->getTestNamespace())->isEqualTo($testNamespace)358					->object($test->setTestNamespace('\\' . $testNamespace))->isIdenticalTo($test)359					->string($test->getTestNamespace())->isEqualTo($testNamespace)360					->object($test->setTestNamespace($testNamespace . '\\'))->isIdenticalTo($test)361					->string($test->getTestNamespace())->isEqualTo($testNamespace)362					->object($test->setTestNamespace('\\' . $testNamespace . '\\'))->isIdenticalTo($test)363					->string($test->getTestNamespace())->isEqualTo($testNamespace)364					->object($test->setTestNamespace($testNamespace = uniqid('_') . '\\' . $testNamespace))->isIdenticalTo($test)365					->string($test->getTestNamespace())->isEqualTo($testNamespace)366					->object($test->setTestNamespace('\\' . $testNamespace))->isIdenticalTo($test)367					->string($test->getTestNamespace())->isEqualTo($testNamespace)368					->object($test->setTestNamespace($testNamespace . '\\'))->isIdenticalTo($test)369					->string($test->getTestNamespace())->isEqualTo($testNamespace)370					->object($test->setTestNamespace('\\' . $testNamespace . '\\'))->isIdenticalTo($test)371					->string($test->getTestNamespace())->isEqualTo($testNamespace)372					->object($test->setTestNamespace($testNamespace = '_' . rand(0, PHP_INT_MAX)))->isIdenticalTo($test)373					->string($test->getTestNamespace())->isEqualTo((string) $testNamespace)374					->object($test->setTestNamespace('\\' . $testNamespace))->isIdenticalTo($test)375					->string($test->getTestNamespace())->isEqualTo($testNamespace)376					->object($test->setTestNamespace($testNamespace . '\\'))->isIdenticalTo($test)377					->string($test->getTestNamespace())->isEqualTo($testNamespace)378					->object($test->setTestNamespace('\\' . $testNamespace . '\\'))->isIdenticalTo($test)379					->string($test->getTestNamespace())->isEqualTo($testNamespace)380					->exception(function() use ($test) {381								$test->setTestNamespace('');382							}383						)384						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')385						->hasMessage('Test namespace must not be empty')386					->exception(function() use ($test) {387								$test->setTestNamespace('0');388							}389						)390						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')391						->hasMessage('Test namespace must be a valid regex or identifier')392					->exception(function() use ($test) {393								$test->setTestNamespace(uniqid('_') . '\\\\' . uniqid('_'));394							}395						)396						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')397						->hasMessage('Test namespace must be a valid regex or identifier')398			;399		}400		public function testGetTestNamespace()401		{402			$this403				->if($test = new self())404				->then405					->string($test->getTestNamespace())->isEqualTo(atoum\test::defaultNamespace)406				->if($test->setTestNamespace($testNamespace = uniqid('_')))407				->then408					->string($test->getTestNamespace())->isEqualTo($testNamespace)409			;410		}411		public function testSetTestMethodPrefix()412		{413			$this414				->if($test = new self())415				->then416					->object($test->setTestMethodPrefix($testMethodPrefix = uniqid('_')))->isIdenticalTo($test)417					->string($test->getTestMethodPrefix())->isEqualTo($testMethodPrefix)418					->object($test->setTestMethodPrefix($testMethodPrefix = '/^test/i'))->isIdenticalTo($test)419					->string($test->getTestMethodPrefix())->isEqualTo($testMethodPrefix)420					->object($test->setTestMethodPrefix($testMethodPrefix = ('_'.rand(0, PHP_INT_MAX))))->isIdenticalTo($test)421					->string($test->getTestMethodPrefix())->isEqualTo((string) $testMethodPrefix)422					->object($test->setTestMethodPrefix($testMethodPrefix = "_0"))->isIdenticalTo($test)423					->string($test->getTestMethodPrefix())->isEqualTo((string) $testMethodPrefix)424					->exception(function() use ($test) {425								$test->setTestMethodPrefix('');426							}427						)428						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')429						->hasMessage('Test method prefix must not be empty')430					->exception(function() use ($test) {431								$test->setTestMethodPrefix('0');432							}433						)434						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')435						->hasMessage('Test method prefix must a valid regex or identifier')436					->exception(function() use ($test) {437								$test->setTestMethodPrefix('/:(/');438							}439						)440						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')441						->hasMessage('Test method prefix must a valid regex or identifier')442			;443		}444		public function testGetTestMethodPrefix()445		{446			$this447				->if($test = new self())448				->then449					->string($test->getTestMethodPrefix())->isEqualTo(atoum\test::defaultMethodPrefix)450				->if($test->setTestMethodPrefix($testMethodPrefix = uniqid('_')))451				->then452					->string($test->getTestMethodPrefix())->isEqualTo($testMethodPrefix)453			;454		}455		public function testGetTestedClassName()456		{457			$mockClass = '\mock\\' . __CLASS__;458			$this459				->if($test = new $mockClass())460				->and($test->getMockController()->getClass = $testClass = 'foo')461				->then462					->exception(function() use ($test) { $test->getTestedClassName(); })463						->isInstanceOf('mageekguy\atoum\exceptions\runtime')464						->hasMessage('Test class \'' . $testClass . '\' is not in a namespace which match pattern \'' . $test->getTestNamespace() . '\'')465				->if($test->getMockController()->getClass = 'tests\units\foo')466				->then467					->string($test->getTestedClassName())->isEqualTo('foo')468			;469		}470		public function testGetTestedClassPath()471		{472			$this473				->if($testedClass = new \reflectionClass($this->getTestedClassName()))474				->then475					->string($this->getTestedClassPath())->isEqualTo($testedClass->getFilename())476			;477		}478		public function testGetAdapter()479		{480			$this481				->if($test = new emptyTest())482				->then483					->object($test->getAdapter())->isInstanceOf('mageekguy\atoum\adapter')484			;485		}486		public function testSetAdapter()487		{488			$this489				->if($test = new emptyTest())490				->then491					->object($test->setAdapter($adapter = new atoum\test\adapter()))->isIdenticalTo($test)492					->object($test->getAdapter())->isIdenticalTo($adapter)493			;494		}495		public function testSetLocale()496		{497			$this498				->if($test = new emptyTest())499				->then500					->object($test->setLocale($locale = new atoum\locale()))->isIdenticalTo($test)501					->object($test->getLocale())->isIdenticalTo($locale)502			;503		}504		public function testSetScore()505		{506			$this507				->if($test = new emptyTest())508				->then509					->object($test->setScore($score = new atoum\test\score()))->isIdenticalTo($test)510					->object($test->getScore())->isIdenticalTo($score)511			;512		}513		public function testSetBootstrapFile()514		{515			$this516				->if($test = new emptyTest())517				->then518					->object($test->setBootstrapFile($path = uniqid()))->isIdenticalTo($test)519					->string($test->getBootstrapFile())->isEqualTo($path)520			;521		}522		public function testSetMaxChildrenNumber()523		{524			$this525				->if($test = new emptyTest())526				->then527					->exception(function() use ($test) { $test->setMaxChildrenNumber(- rand(1, PHP_INT_MAX)); })528						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')529						->hasMessage('Maximum number of children must be greater or equal to 1')530					->exception(function() use ($test) { $test->setMaxChildrenNumber(0); })531						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')532						->hasMessage('Maximum number of children must be greater or equal to 1')533					->object($test->setMaxChildrenNumber($maxChildrenNumber = rand(1, PHP_INT_MAX)))->isIdenticalTo($test)534					->integer($test->getMaxChildrenNumber())->isEqualTo($maxChildrenNumber)535					->object($test->setMaxChildrenNumber((string) $maxChildrenNumber = rand(1, PHP_INT_MAX)))->isIdenticalTo($test)536					->integer($test->getMaxChildrenNumber())->isEqualTo($maxChildrenNumber)537			;538		}539		public function testGetClass()540		{541			$this542				->if($test = new emptyTest())543				->then544					->string($test->getClass())->isEqualTo(__NAMESPACE__ . '\emptyTest')545			;546		}547		public function testGetPath()548		{549			$this550				->if($test = new emptyTest())551				->then552					->string($test->getPath())->isEqualTo(__FILE__)553			;554		}555		public function testGetCoverage()556		{557			$this558				->if($test = new emptyTest())559				->then560					->object($test->getCoverage())->isIdenticalTo($test->getScore()->getCoverage())561			;562		}563		public function testIsIgnored()564		{565			$this566				->if($test = new emptyTest())567				->then568					->boolean($test->isIgnored())->isTrue()569					->object($test->ignore(false))->isIdenticalTo($test)570					->boolean($test->isIgnored())->isTrue()571					->object($test->ignore(true))->isIdenticalTo($test)572					->boolean($test->isIgnored())->isTrue()573				->if($test = new notEmptyTest())574				->then575					->boolean($test->isIgnored())->isTrue()576					->boolean($test->methodIsIgnored('testMethod1'))->isTrue()577					->boolean($test->methodIsIgnored('testMethod2'))->isTrue()578					->object($test->ignore(false))->isIdenticalTo($test)579					->boolean($test->isIgnored())->isFalse()580					->boolean($test->methodIsIgnored('testMethod1'))->isFalse()581					->boolean($test->methodIsIgnored('testMethod2'))->isFalse()582					->object($test->ignore(true))->isIdenticalTo($test)583					->boolean($test->isIgnored())->isTrue()584					->boolean($test->methodIsIgnored('testMethod1'))->istrue()585					->boolean($test->methodIsIgnored('testMethod2'))->isTrue()586			;587		}588		public function testGetCurrentMethod()589		{590			$this591				->if($test = new emptyTest())592				->then593					->variable($test->getCurrentMethod())->isNull()594			;595		}596		public function testCount()597		{598			$this599				->sizeOf(new emptyTest())->isEqualTo(0)600				->if($test = new notEmptyTest())601				->then602					->sizeOf($test)->isEqualTo(0)603				->if($test->ignore(false))604				->then605					->boolean($test->methodIsIgnored('testMethod1'))->isFalse()606					->boolean($test->methodIsIgnored('testMethod2'))->isFalse()607					->sizeOf($test)->isEqualTo(2)608				->if($test->ignoreMethod('testMethod1', true))609					->boolean($test->methodIsIgnored('testMethod1'))->isTrue()610					->boolean($test->methodIsIgnored('testMethod2'))->isFalse()611					->sizeOf($test)->isEqualTo(1)612				->if($test->ignoreMethod('testMethod2', true))613					->boolean($test->methodIsIgnored('testMethod1'))->isTrue()614					->boolean($test->methodIsIgnored('testMethod2'))->isTrue()615					->sizeOf($test)->isEqualTo(0)616			;617		}618		public function testGetTestMethods()619		{620			$this621				->if($test = new emptyTest())622				->then623					->boolean($test->ignore(false)->isIgnored())->isTrue()624					->sizeOf($test)->isZero()625					->array($test->getTestMethods())->isEmpty()626				->if($test = new notEmptyTest())627				->then628					->boolean($test->isIgnored())->isTrue()629					->boolean($test->methodIsIgnored('testMethod1'))->isTrue()630					->boolean($test->methodIsIgnored('testMethod2'))->isTrue()631					->sizeOf($test)->isEqualTo(0)632					->array($test->getTestMethods())->isEmpty()633					->boolean($test->ignore(false)->isIgnored())->isFalse()634					->boolean($test->methodIsIgnored('testMethod1'))->isFalse()635					->boolean($test->methodIsIgnored('testMethod2'))->isFalse()636					->sizeOf($test)->isEqualTo(2)637					->array($test->getTestMethods())->isEqualTo(array('testMethod1', 'testMethod2'))638					->array($test->getTestMethods(array('method')))->isEqualTo(array('testMethod1', 'testMethod2'))639					->array($test->getTestMethods(array('test')))->isEqualTo(array('testMethod1', 'testMethod2'))640					->array($test->getTestMethods(array('two')))->isEqualTo(array('testMethod2'))641					->array($test->getTestMethods(array(uniqid())))->isEmpty()642					->array($test->getTestMethods(array('test', 'method')))->isEqualTo(array('testMethod1', 'testMethod2'))643					->array($test->getTestMethods(array('test', 'method', uniqid())))->isEqualTo(array('testMethod1', 'testMethod2'))644					->array($test->getTestMethods(array('test', 'method', 'two', uniqid())))->isEqualTo(array('testMethod1', 'testMethod2'))645			;646		}647		public function testGetPhpPath()648		{649			$this650				->if($test = new emptyTest())651				->then652					->variable($test->getPhpPath())->isNull()653				->if($test->setPhpPath($phpPath = uniqid()))654				->then655					->string($test->getPhpPath())->isEqualTo($phpPath)656			;657		}658		public function testSetPhpPath()659		{660			$this661				->if($test = new emptyTest())662				->then663					->object($test->setPhpPath($phpPath = uniqid()))->isIdenticalTo($test)664					->string($test->getPhpPath())->isIdenticalTo($phpPath)665					->object($test->setPhpPath($phpPath = rand(1, PHP_INT_MAX)))->isIdenticalTo($test)666					->string($test->getPhpPath())->isIdenticalTo((string) $phpPath)667			;668		}669		public function testMethodIsIgnored()670		{671			$this672				->if($test = new emptyTest())673				->then674					->exception(function() use ($test, & $method) { $test->methodIsIgnored($method = uniqid()); })675						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')676						->hasMessage('Test method ' . get_class($test) . '::' . $method . '() does not exist')677			;678		}679		public function testSetTags()680		{681			$this682				->if($test = new emptyTest())683				->then684					->object($test->setTags($tags = array(uniqid(), uniqid())))->isIdenticalTo($test)685					->array($test->getTags())->isEqualTo($tags)686			;687		}688		public function testSetMethodTags()689		{690			$this691				->if($test = new notEmptyTest())692				->then693					->object($test->setMethodTags('testMethod1', $tags = array(uniqid(), uniqid())))->isIdenticalTo($test)694					->array($test->getMethodTags('testMethod1'))->isEqualTo($tags)695					->exception(function() use ($test, & $method) { $test->setMethodTags($method = uniqid(), array()); })696						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')697						->hasMessage('Test method ' . get_class($test) . '::' . $method . '() does not exist')698			;699		}700		public function testGetMethodTags()701		{702			$this703				->if($test = new notEmptyTest())704				->then705					->array($test->getMethodTags('testMethod1'))->isEqualTo(array('test', 'method', 'one'))706					->exception(function() use ($test, & $method) { $test->getMethodTags($method = uniqid()); })707						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')708						->hasMessage('Test method ' . get_class($test) . '::' . $method . '() does not exist')709				->if($test = new inheritedTagsTest())710				->then711					->array($test->getMethodTags())->isEqualTo(array('testMethod1' => array('first', 'second', 'third'), 'testMethod2' => array('first', 'second', 'third')))712					->array($test->getMethodTags('testMethod1'))->isEqualTo(array('first', 'second', 'third'))713					->array($test->getMethodTags('testMethod2'))->isEqualTo(array('first', 'second', 'third'))714				->if($test = new dataProviderTest())715				->then716					->array($test->getMethodTags())->isEqualTo(array('testMethod1' => array(), 'testMethod2' => array(), 'testMethod3' => array()))717					->array($test->getMethodTags('testMethod1'))->isEqualTo(array())718					->array($test->getMethodTags('testMethod2'))->isEqualTo(array())719					->array($test->getMethodTags('testMethod3'))->isEqualTo(array())720			;721		}722		public function testAddMandatoryClassExtension()723		{724			$this725				->if($test = new notEmptyTest())726				->then727					->object($test->addMandatoryClassExtension($extension = uniqid()))->isIdenticalTo($test)728					->array($test->getMandatoryClassExtensions())->isEqualTo(array($extension))729					->object($test->addMandatoryClassExtension($otherExtension = uniqid()))->isIdenticalTo($test)730					->array($test->getMandatoryClassExtensions())->isEqualTo(array($extension, $otherExtension))731			;732		}733		public function testGetMandatoryMethodExtensions()734		{735			$this736				->if($test = new notEmptyTest())737				->then738					->array($test->getMandatoryMethodExtensions('testMethod1'))->isEmpty()739					->array($test->getMandatoryMethodExtensions('testMethod2'))->isEqualTo(array('mbstring', 'socket'))740			;741		}742		public function testAddMandatoryMethodExtension()743		{744			$this745				->if($test = new notEmptyTest())746				->then747					->exception(function() use ($test, & $method) { $test->addMandatoryMethodExtension($method = uniqid(), uniqid()); })748						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')749						->hasMessage('Test method ' . get_class($test) . '::' . $method . '() does not exist')750					->object($test->addMandatoryMethodExtension('testMethod1', $extension = uniqid()))->isIdenticalTo($test)751					->array($test->getMandatoryMethodExtensions())->isEqualTo(array('testMethod1' => array($extension), 'testMethod2' => array('mbstring', 'socket')))752					->array($test->getMandatoryMethodExtensions('testMethod1'))->isEqualTo(array($extension))753					->array($test->getMandatoryMethodExtensions('testMethod2'))->isEqualTo(array('mbstring', 'socket'))754					->object($test->addMandatoryMethodExtension('testMethod1', $otherExtension = uniqid()))->isIdenticalTo($test)755					->array($test->getMandatoryMethodExtensions())->isEqualTo(array('testMethod1' => array($extension, $otherExtension), 'testMethod2' => array('mbstring', 'socket')))756					->array($test->getMandatoryMethodExtensions('testMethod1'))->isEqualTo(array($extension, $otherExtension))757					->array($test->getMandatoryMethodExtensions('testMethod2'))->isEqualTo(array('mbstring', 'socket'))758					->object($test->addMandatoryMethodExtension('testMethod2', $anOtherExtension = uniqid()))->isIdenticalTo($test)759					->array($test->getMandatoryMethodExtensions())->isEqualTo(array('testMethod1' => array($extension, $otherExtension), 'testMethod2' => array('mbstring', 'socket', $anOtherExtension)))760					->array($test->getMandatoryMethodExtensions('testMethod1'))->isEqualTo(array($extension, $otherExtension))761					->array($test->getMandatoryMethodExtensions('testMethod2'))->isEqualTo(array('mbstring', 'socket', $anOtherExtension))762				->if($test->addMandatoryClassExtension($classExtension = uniqid()))763				->then764					->array($test->getMandatoryMethodExtensions())->isEqualTo(array('testMethod1' => array($classExtension, $extension, $otherExtension), 'testMethod2' => array($classExtension, 'mbstring', 'socket', $anOtherExtension)))765					->array($test->getMandatoryMethodExtensions('testMethod1'))->isEqualTo(array($classExtension, $extension, $otherExtension))766					->array($test->getMandatoryMethodExtensions('testMethod2'))->isEqualTo(array($classExtension, 'mbstring', 'socket', $anOtherExtension))767			;768		}769		public function testAddClassPhpVersion()770		{771			$this772				->if($test = new notEmptyTest())773				->then774					->object($test->addClassPhpVersion('5.3'))->isIdenticalTo($test)775					->array($test->getClassPhpVersions())->isEqualTo(array('5.3' => '>='))776					->object($test->addClassPhpVersion('5.4', '<='))->isIdenticalTo($test)777					->array($test->getClassPhpVersions())->isEqualTo(array('5.3' => '>=', '5.4' => '<='))778			;779		}780		public function testAddMethodPhpVersion()781		{782			$this783				->if($test = new notEmptyTest())784				->then785					->exception(function() use ($test, & $method) { $test->addMethodPhpVersion($method, '6.0'); })786						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')787						->hasMessage('Test method ' . get_class($test) . '::' . $method . '() does not exist')788					->object($test->addMethodPhpVersion('testMethod1', '5.3'))->isIdenticalTo($test)789					->array($test->getMethodPhpVersions())->isEqualTo(array('testMethod1' => array('5.3' => '>='), 'testMethod2' => array()))790					->array($test->getMethodPhpVersions('testMethod1'))->isEqualTo(array('5.3' => '>='))791					->array($test->getMethodPhpVersions('testMethod2'))->isEmpty()792					->object($test->addMethodPhpVersion('testMethod1', '5.4', '<='))->isIdenticalTo($test)793					->array($test->getMethodPhpVersions())->isEqualTo(array('testMethod1' => array('5.3' => '>=', '5.4' => '<='), 'testMethod2' => array()))794					->array($test->getMethodPhpVersions('testMethod1'))->isEqualTo(array('5.3' => '>=', '5.4' => '<='))795					->array($test->getMethodPhpVersions('testMethod2'))->isEmpty()796					->object($test->addMethodPhpVersion('testMethod2', '5.4', '>='))->isIdenticalTo($test)797					->array($test->getMethodPhpVersions())->isEqualTo(array('testMethod1' => array('5.3' => '>=', '5.4' => '<='), 'testMethod2' => array('5.4' => '>=')))798					->array($test->getMethodPhpVersions('testMethod1'))->isEqualTo(array('5.3' => '>=', '5.4' => '<='))799					->array($test->getMethodPhpVersions('testMethod2'))->isEqualTo(array('5.4' => '>='))800				->if($test->addClassPhpVersion('5.5'))801				->then802					->array($test->getMethodPhpVersions())->isEqualTo(array('testMethod1' => array('5.5' => '>=', '5.3' => '>=', '5.4' => '<='), 'testMethod2' => array('5.5' => '>=', '5.4' => '>=')))803					->array($test->getMethodPhpVersions('testMethod1'))->isEqualTo(array('5.5' => '>=', '5.3' => '>=', '5.4' => '<='))804					->array($test->getMethodPhpVersions('testMethod2'))->isEqualTo(array('5.5' => '>=', '5.4' => '>='))805			;806		}807		public function testRun()808		{809			$this810				->mockTestedClass('mock\tests\units')811				->if($test = new \mock\tests\units\test())812				->then813					->object($test->run())->isIdenticalTo($test)814					->mock($test)815						->call('callObservers')816							->withArguments(\mageekguy\atoum\test::runStart)->never()817							->withArguments(\mageekguy\atoum\test::runStop)->never()818							->withArguments(\mageekguy\atoum\test::beforeSetUp)->never()819							->withArguments(\mageekguy\atoum\test::afterSetUp)->never()820							->withArguments(\mageekguy\atoum\test::beforeTestMethod)->never()821							->withArguments(\mageekguy\atoum\test::afterTestMethod)->never()822			;823		}824		public function testSetTestedClassName()825		{826			$this827				->if($test = new foo())828				->then829					->string($test->getTestedClassName())->isEqualTo('mageekguy\atoum\test')830					->exception(function() use ($test) { $test->setTestedClassName(uniqid()); })831						->isInstanceOf('mageekguy\atoum\exceptions\runtime')832						->hasMessage('Tested class name is already defined')833				->if($test = new self())834				->then835					->object($test->setTestedClassName($class = uniqid()))->isIdenticalTo($test)836					->string($test->getTestedClassName())->isEqualTo($class)837					->exception(function() use ($test) { $test->setTestedClassName(uniqid()); })838						->isInstanceOf('mageekguy\atoum\exceptions\runtime')839						->hasMessage('Tested class name is already defined')840			;841		}842		public function testMockClass()843		{844			$this845				->if($test = new emptyTest())846				->then847					->object($test->mockClass(__CLASS__))->isIdenticalTo($test)848					->class('mock\\' . __CLASS__)->isSubClassOf(__CLASS__)849					->object($test->mockClass(__CLASS__, 'foo'))->isIdenticalTo($test)850					->class('foo\test')->isSubClassOf(__CLASS__)851					->object($test->mockClass(__CLASS__, 'foo\bar'))->isIdenticalTo($test)852					->class('foo\bar\test')->isSubClassOf(__CLASS__)853					->object($test->mockClass(__CLASS__, 'foo', 'bar'))->isIdenticalTo($test)854					->class('foo\bar')->isSubClassOf(__CLASS__)855			;856		}857		public function testMockTestedClass()858		{859			$this860				->if($test = new emptyTest())861				->and($testedClassName = $test->getTestedClassName())862				->then863					->object($test->mockTestedClass())->isIdenticalTo($test)864					->class('mock\\' . $testedClassName)->isSubClassOf($testedClassName)865					->object($test->mockTestedClass('foo'))->isIdenticalTo($test)866					->class('foo\emptyTest')->isSubClassOf($testedClassName)867					->object($test->mockTestedClass('foo\bar'))->isIdenticalTo($test)868					->class('foo\bar\emptyTest')->isSubClassOf($testedClassName)869					->object($test->mockTestedClass('foo', 'bar'))->isIdenticalTo($test)870					->class('foo\bar')->isSubClassOf($testedClassName)871			;872		}873		public function testGetTaggedTestMethods()874		{875			$this876				->if($test = new emptyTest())877				->then878					->array($test->getTaggedTestMethods(array()))->isEmpty()879					->array($test->getTaggedTestMethods(array(uniqid())))->isEmpty()880					->array($test->getTaggedTestMethods(array(uniqid(), uniqid())))->isEmpty()881				->if($test = new notEmptyTest())882				->then883					->array($test->getTaggedTestMethods(array()))->isEmpty()884					->array($test->getTaggedTestMethods(array(uniqid())))->isEmpty()885					->array($test->getTaggedTestMethods(array(uniqid(), uniqid())))->isEmpty()886					->array($test->getTaggedTestMethods(array(uniqid(), 'testMethod1', uniqid())))->isEmpty()887					->array($test->getTaggedTestMethods(array(uniqid(), 'testMethod1', uniqid(), 'testMethod2')))->isEmpty()888					->array($test->getTaggedTestMethods(array(uniqid(), 'Testmethod1', uniqid(), 'Testmethod2')))->isEmpty()889				->if($test->ignore(false))890				->then891					->array($test->getTaggedTestMethods(array(uniqid(), 'testMethod1', uniqid())))->isEqualTo(array('testMethod1'))892					->array($test->getTaggedTestMethods(array(uniqid(), 'testMethod2', uniqid())))->isEqualTo(array('testMethod2'))893					->array($test->getTaggedTestMethods(array(uniqid(), 'Testmethod1', uniqid(), 'Testmethod2')))->isEqualTo(array('Testmethod1', 'Testmethod2'))894					->array($test->getTaggedTestMethods(array(uniqid(), 'Testmethod1', uniqid(), 'Testmethod2'), array('one')))->isEqualTo(array('Testmethod1'))895				->if($test->ignoreMethod('testMethod1', true))896				->then897					->array($test->getTaggedTestMethods(array(uniqid(), 'testMethod1', uniqid())))->isEmpty()898					->array($test->getTaggedTestMethods(array(uniqid(), 'testMethod2', uniqid())))->isEqualTo(array('testMethod2'))899					->array($test->getTaggedTestMethods(array(uniqid(), 'Testmethod1', uniqid(), 'Testmethod2')))->isEqualTo(array('Testmethod2'))900					->array($test->getTaggedTestMethods(array(uniqid(), 'Testmethod1', uniqid(), 'Testmethod2'), array('one')))->isEmpty()901			;902		}903		public function testSetDataProvider()904		{905			$this906				->if($test = new emptyTest())907				->then908					->exception(function() use ($test, & $method) { $test->setDataProvider($method = uniqid(), uniqid()); })909						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')910						->hasMessage('Test method ' . get_class($test) . '::' . $method . '() does not exist')911				->if($test = new notEmptyTest())912				->then913					->exception(function() use ($test, & $dataProvider) { $test->setDataProvider('testMethod1', $dataProvider = uniqid()); })914						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')915						->hasMessage('Data provider ' . get_class($test) . '::' . $dataProvider . '() is unknown')916					->object($test->setDataProvider('testMethod1', 'aDataProvider'))->isIdenticalTo($test)917					->array($test->getDataProviders())->isEqualTo(array('testMethod1' => 'aDataProvider'))918				->if($test = new dataProviderTest())919				->then920					->object($test->setDataProvider('testMethod2'))->isIdenticalTo($test)921					->array($providers = $test->getDataProviders())922						->object['testMethod2']->isInstanceOf('mageekguy\atoum\test\data\provider\aggregator')923					->exception(function() use ($providers) { $providers['testMethod2'](); })924						->isInstanceOf('mageekguy\atoum\exceptions\runtime')925						->hasMessage('Could not instanciate a mock from ' . $test->getMockGenerator()->getDefaultNamespace() . '\\SplFileInfo because SplFileInfo::__construct() has at least one mandatory argument')926				->if($test->getMockGenerator()->allIsInterface())927				->then928					->exception(function() use ($providers) { $providers['testMethod2'](); })929						->isInstanceOf('mageekguy\atoum\exceptions\runtime')930						->hasMessage('Could not instanciate a mock from ' . $test->getMockGenerator()->getDefaultNamespace() . '\\SplFileInfo because SplFileInfo::__construct() has at least one mandatory argument')931				->if($test->getMockGenerator()->setDefaultNamespace('testMocks'))932				->then933					->array($providers['testMethod2']())->isEqualTo(array(array(new \testMocks\splFileInfo())))934				->if($test = new dataProviderTest())935				->then936					->exception(function() use ($test, & $dataProvider) { $test->setDataProvider('testMethod3'); })937						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')938						->hasMessage('Could not generate a data provider for ' . get_class($test) . '::testMethod3() because it has at least one argument which is not type-hinted with a class or interface name')939					->object($test->setDataProvider('testMethod1'))->isIdenticalTo($test)940					->array($test->getDataProviders())941						->object['testMethod1']->isInstanceOf('mageekguy\atoum\test\data\provider\aggregator')942				->if($test = new dataProviderTest())943				->then944					->exception(function() use ($test, & $dataProvider) { $test->setDataProvider('testMethod3', function() {}); })945						->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')946						->hasMessage('Cannot use a closure as a data provider for method ' . get_class($test) . '::testMethod3()')947			;948		}949		public function testCalling()950		{951			$this952				->if($test = new emptyTest())953				->and($mock = new \mock\foo())954				->and($test->calling($mock)->bar = $value = uniqid())955				->then956					->string($mock->bar())->isEqualTo($value)957				->and($test->Æ($mock)->bar = $otherValue = uniqid())958				->then959					->string($mock->bar())->isEqualTo($otherValue)960			;961		}962		public function testResetMock()963		{964			$this965				->if($test = new emptyTest())966				->and($mockController = new \mock\mageekguy\atoum\mock\controller())967				->and($mockController->control($mock = new \mock\object()))968				->and($this->resetMock($mockController))969				->then970					->object($test->resetMock($mock))->isIdenticalTo($mock->getMockController())971					->mock($mockController)->call('resetCalls')->once()972			;973		}974		public function testResetFunction()975		{976			$this977				->if($test = new emptyTest())978				->and($this->function->md5 = uniqid())979				->then980					->object($test->resetFunction($this->function->md5))->isIdenticalTo($this->function->md5)981			;982		}983		public function testResetAdapter()984		{985			$this986				->if($test = new emptyTest())987				->and($adapter = new \mock\mageekguy\atoum\test\adapter())988				->and($this->resetMock($adapter))989				->then990					->object($test->resetAdapter($adapter))->isIdenticalTo($adapter)991					->mock($adapter)->call('resetCalls')->once()992			;993		}994		public function testErrorHandler()995		{996			$this997				->if($test = new emptyTest())998				->and($adapter = new atoum\test\adapter())999				->and($adapter->error_reporting = 0)1000				->and($test->setAdapter($adapter))1001				->then1002					->boolean($test->errorHandler(rand(1, PHP_INT_MAX), uniqid(), uniqid(), rand(1, PHP_INT_MAX), uniqid()))->isTrue()1003					->array($test->getScore()->getErrors())->isEmpty()1004				->if($adapter->error_reporting = E_ALL)1005				->then1006					->boolean($test->errorHandler(E_NOTICE, $errstr = uniqid(), uniqid(), rand(1, PHP_INT_MAX), uniqid()))->isTrue()1007					->variable($test->getScore()->errorExists($errstr, E_NOTICE))->isNotNull()1008					->boolean($test->errorHandler(E_WARNING, $errstr = uniqid(), uniqid(), rand(1, PHP_INT_MAX), uniqid()))->isTrue()1009					->variable($test->getScore()->errorExists($errstr, E_WARNING))->isNotNull()1010					->boolean($test->errorHandler(E_USER_NOTICE, $errstr = uniqid(), uniqid(), rand(1, PHP_INT_MAX), uniqid()))->isTrue()1011					->variable($test->getScore()->errorExists($errstr, E_USER_NOTICE))->isNotNull()1012					->boolean($test->errorHandler(E_USER_WARNING, $errstr = uniqid(), uniqid(), rand(1, PHP_INT_MAX), uniqid()))->isTrue()1013					->variable($test->getScore()->errorExists($errstr, E_USER_WARNING))->isNotNull()1014					->boolean($test->errorHandler(E_DEPRECATED, $errstr = uniqid(), uniqid(), rand(1, PHP_INT_MAX), uniqid()))->isTrue()1015					->variable($test->getScore()->errorExists($errstr, E_DEPRECATED))->isNotNull()1016					->boolean($test->errorHandler(E_RECOVERABLE_ERROR, $errstr = uniqid(), uniqid(), rand(1, PHP_INT_MAX), uniqid()))->isFalse()1017					->variable($test->getScore()->errorExists($errstr, E_RECOVERABLE_ERROR))->isNotNull()1018				->if($adapter->error_reporting = E_ALL & ~E_DEPRECATED)1019				->then1020					->boolean($test->errorHandler(E_NOTICE, $errstr = uniqid(), uniqid(), rand(1, PHP_INT_MAX), uniqid()))->isTrue()1021					->variable($test->getScore()->errorExists($errstr, E_NOTICE))->isNotNull()1022					->boolean($test->errorHandler(E_WARNING, $errstr = uniqid(), uniqid(), rand(1, PHP_INT_MAX), uniqid()))->isTrue()1023					->variable($test->getScore()->errorExists($errstr, E_WARNING))->isNotNull()1024					->boolean($test->errorHandler(E_USER_NOTICE, $errstr = uniqid(), uniqid(), rand(1, PHP_INT_MAX), uniqid()))->isTrue()1025					->variable($test->getScore()->errorExists($errstr, E_USER_NOTICE))->isNotNull()1026					->boolean($test->errorHandler(E_USER_WARNING, $errstr = uniqid(), uniqid(), rand(1, PHP_INT_MAX), uniqid()))->isTrue()1027					->variable($test->getScore()->errorExists($errstr, E_USER_WARNING))->isNotNull()1028					->boolean($test->errorHandler(E_DEPRECATED, $errstr = uniqid(), uniqid(), rand(1, PHP_INT_MAX), uniqid()))->isTrue()1029					->variable($test->getScore()->errorExists($errstr, E_DEPRECATED))->isNull()1030				->if($adapter->error_reporting = E_ALL & ~E_RECOVERABLE_ERROR)1031				->then1032					->boolean($test->errorHandler(E_RECOVERABLE_ERROR, $errstr = uniqid(), uniqid(), rand(1, PHP_INT_MAX), uniqid()))->isTrue()1033					->variable($test->getScore()->errorExists($errstr, E_RECOVERABLE_ERROR))->isNull()1034				->if($adapter->error_reporting = 32767)1035				->and($factory = function($class) use (& $reflection, & $filename, & $classname) {1036					$reflection = new \mock\ReflectionClass($class);1037					$reflection->getMockController()->getFilename = $filename = 'filename';1038					$reflection->getMockController()->getName = $classname = 'classname';1039					return $reflection;1040				})1041				->and($score = new \mock\mageekguy\atoum\test\score())1042				->and($test = new emptyTest(null, null, null, null, $factory))1043				->and($test->setAdapter($adapter))1044				->and($test->setScore($score))1045				->then1046					->boolean($test->errorHandler($errno = E_NOTICE, $errstr = 'errstr', $errfile = 'errfile', $errline = rand(1, PHP_INT_MAX)))->isTrue()1047					->mock($score)1048						->call('addError')->withArguments($errfile, $classname, $test->getCurrentMethod(), $errline, $errno, $errstr, $errfile, $errline, null, null, null)->once()1049					->boolean($test->errorHandler($errno, $errstr, null, $errline = rand(1, PHP_INT_MAX)))->isTrue()1050					->mock($score)1051						->call('addError')->withArguments($filename, $classname, $test->getCurrentMethod(), $errline, $errno, $errstr, null, $errline, null, null, null)->once()1052			;1053		}1054		public function testGetTestedClassNameFromTestClass()1055		{1056			$this1057				->string(atoum\test::getTestedClassNameFromTestClass(__CLASS__))->isEqualTo('mageekguy\atoum\test')1058				->string(atoum\test::getTestedClassNameFromTestClass('foo\bar\tests\units\testedClass'))->isEqualTo('foo\bar\testedClass')1059				->if(atoum\test::setNamespace('test\unit'))1060				->then1061					->string(atoum\test::getTestedClassNameFromTestClass('foo\bar\test\unit\testedClass'))->isEqualTo('foo\bar\testedClass')1062				->if(atoum\test::setNamespace('\test\unit\\'))1063				->then1064					->string(atoum\test::getTestedClassNameFromTestClass('foo\bar\test\unit\testedClass'))->isEqualTo('foo\bar\testedClass')1065				->if(atoum\test::setNamespace('test\unit\\'))1066				->then1067					->string(atoum\test::getTestedClassNameFromTestClass('foo\bar\test\unit\testedClass'))->isEqualTo('foo\bar\testedClass')1068				->if(atoum\test::setNamespace('\test\unit'))1069				->then1070					->string(atoum\test::getTestedClassNameFromTestClass('foo\bar\test\unit\testedClass'))->isEqualTo('foo\bar\testedClass')1071					->exception(function() { atoum\test::getTestedClassNameFromTestClass('foo\bar\aaa\bbb\testedClass'); })1072						->isInstanceOf('mageekguy\atoum\exceptions\runtime')1073						->hasMessage('Test class \'foo\bar\aaa\bbb\testedClass\' is not in a namespace which contains \'' . atoum\test::getNamespace() . '\'')1074				->if(atoum\test::setNamespace('#(?:^|\\\)xxxs?\\\yyys?\\\#i'))1075				->then1076					->string(atoum\test::getTestedClassNameFromTestClass('foo\bar\xxx\yyy\testedClass'))->isEqualTo('foo\bar\testedClass')1077					->string(atoum\test::getTestedClassNameFromTestClass('foo\bar\xxxs\yyy\testedClass'))->isEqualTo('foo\bar\testedClass')1078					->string(atoum\test::getTestedClassNameFromTestClass('foo\bar\xxxs\yyys\testedClass'))->isEqualTo('foo\bar\testedClass')1079					->string(atoum\test::getTestedClassNameFromTestClass('foo\bar\xxx\yyys\testedClass'))->isEqualTo('foo\bar\testedClass')1080					->exception(function() { atoum\test::getTestedClassNameFromTestClass('foo\bar\aaa\bbb\testedClass'); })1081						->isInstanceOf('mageekguy\atoum\exceptions\runtime')1082						->hasMessage('Test class \'foo\bar\aaa\bbb\testedClass\' is not in a namespace which match pattern \'' . atoum\test::getNamespace() . '\'')1083					->string(atoum\test::getTestedClassNameFromTestClass('foo\bar\aaa\bbb\testedClass', '#(?:^|\\\)aaas?\\\bbbs?\\\#i'))->isEqualTo('foo\bar\testedClass')1084			;1085		}1086		public function testAddExtension()1087		{1088			$this1089				->if($test = new emptyTest())1090				->then1091					->object($test->addExtension($extension = new \mock\mageekguy\atoum\extension()))->isIdenticalTo($test)1092					->array(iterator_to_array($test->getExtensions()))->isEqualTo(array($extension))1093					->array($test->getObservers())->isEqualTo(array($extension))1094					->mock($extension)1095						->call('setTest')->withArguments($test)->once()1096				->if($this->resetMock($extension))1097				->then1098					->object($test->addExtension($extension))->isIdenticalTo($test)1099					->array(iterator_to_array($test->getExtensions()))->isEqualTo(array($extension))1100					->array($test->getObservers())->isEqualTo(array($extension))1101					->mock($extension)1102						->call('setTest')->once();1103			;1104		}1105		public function testRemoveExtension()1106		{1107			$this1108				->if($test = new emptyTest())1109				->then1110					->object($test->getExtensions())->isEqualTo(new \splObjectStorage())1111					->array($test->getObservers())->isEmpty()1112					->object($test->removeExtension(new \mock\mageekguy\atoum\extension()))->isIdenticalTo($test)1113					->object($test->getExtensions())->isEqualTo(new \splObjectStorage())1114					->array($test->getObservers())->isEmpty()1115				->if($extension = new \mock\mageekguy\atoum\extension())1116				->and($otherExtension = new \mock\mageekguy\atoum\extension())1117				->and($test->addExtension($extension)->addExtension($otherExtension))1118				->then1119					->array(iterator_to_array($test->getExtensions()))->isEqualTo(array($extension, $otherExtension))1120					->array($test->getObservers())->isEqualTo(array($extension, $otherExtension))1121					->object($test->removeExtension(new \mock\mageekguy\atoum\extension()))->isIdenticalTo($test)1122					->array(iterator_to_array($test->getExtensions()))->isEqualTo(array($extension, $otherExtension))1123					->array($test->getObservers())->isEqualTo(array($extension, $otherExtension))1124					->object($test->removeExtension($extension))->isIdenticalTo($test)1125					->array(iterator_to_array($test->getExtensions()))->isEqualTo(array($otherExtension))1126					->array($test->getObservers())->isEqualTo(array($otherExtension))1127					->object($test->removeExtension($otherExtension))->isIdenticalTo($test)1128					->object($test->getExtensions())->isEqualTo(new \splObjectStorage())1129					->array($test->getObservers())->isEmpty()1130			;1131		}1132		public function testRemoveExtensions()1133		{1134			$this1135				->if($test = new emptyTest())1136				->then1137					->object($test->getExtensions())->isEqualTo(new \splObjectStorage())1138					->array($test->getObservers())->isEmpty()1139					->object($test->removeExtensions())->isIdenticalTo($test)1140					->object($test->getExtensions())->isEqualTo(new \splObjectStorage())1141					->array($test->getObservers())->isEmpty()1142				->if($extension = new \mock\mageekguy\atoum\extension())1143				->and($otherExtension = new \mock\mageekguy\atoum\extension())1144				->and($test->addExtension($extension)->addExtension($otherExtension))1145				->then1146					->array(iterator_to_array($test->getExtensions()))->isEqualTo(array($extension, $otherExtension))1147					->array($test->getObservers())->isEqualTo(array($extension, $otherExtension))1148					->object($test->removeExtensions())->isIdenticalTo($test)1149					->object($test->getExtensions())->isEqualTo(new \splObjectStorage())1150					->array($test->getObservers())->isEmpty()1151			;1152		}1153		public function testGetExtensionConfiguration()1154		{1155			$this1156				->if(1157					$test = new emptyTest(),1158					$extension = new \mock\mageekguy\atoum\extension()1159				)1160				->then1161					->variable($test->getExtensionConfiguration($extension))->isNull1162				->if($test->addExtension($extension))1163				->then1164					->variable($test->getExtensionConfiguration($extension))->isNull1165				->given($configuration = new \mock\mageekguy\atoum\extension\configuration())1166				->if($test->addExtension($extension, $configuration))1167				->then1168					->object($test->getExtensionConfiguration($extension))->isIdenticalTo($configuration)1169			;1170		}1171		public function testCallStaticOnTestedClass()1172		{1173			$this1174				->if($test = new withStatic())1175				->then1176					->string($test->callStaticOnTestedClass('staticMethod', $return = uniqid()))1177						->isEqualTo($return)1178					->array($test->callStaticOnTestedClass(1179						'someOtherStaticMethod',1180						$return1 = uniqid(),1181						$return2 = uniqid(),1182						$return3 = uniqid()1183					))1184						->isEqualTo(array($return1, $return2, $return3))1185			;1186		}1187		public function testNewMockInstance()1188		{1189			$this1190				->if($test = new emptyTest())1191				->then1192					->object($mock = $test->newMockInstance('stdClass'))1193						->isInstanceOf('mock\stdClass')...someOtherStaticMethod
Using AI Code Generation
1notEmptyTest::someOtherStaticMethod();2notEmptyTest::someOtherStaticMethod();3notEmptyTest::someOtherStaticMethod();4notEmptyTest::someOtherStaticMethod();5notEmptyTest::someOtherStaticMethod();6notEmptyTest::someOtherStaticMethod();7notEmptyTest::someOtherStaticMethod();8notEmptyTest::someOtherStaticMethod();9notEmptyTest::someOtherStaticMethod();10notEmptyTest::someOtherStaticMethod();11notEmptyTest::someOtherStaticMethod();12notEmptyTest::someOtherStaticMethod();13notEmptyTest::someOtherStaticMethod();14notEmptyTest::someOtherStaticMethod();15notEmptyTest::someOtherStaticMethod();16notEmptyTest::someOtherStaticMethod();17notEmptyTest::someOtherStaticMethod();someOtherStaticMethod
Using AI Code Generation
1notEmptyTest::someOtherStaticMethod();2notEmptyTest::someOtherStaticMethod();3notEmptyTest::someOtherStaticMethod();4$obj = new notEmptyTest();5$obj->someOtherStaticMethod();6$obj = new notEmptyTest();7$obj->someOtherStaticMethod();8$obj = new notEmptyTest();9$obj->someOtherStaticMethod();someOtherStaticMethod
Using AI Code Generation
1notEmptyTest::someOtherStaticMethod();2notEmptyTest::someStaticMethod();3notEmptyTest::someOtherStaticMethod();4notEmptyTest::someStaticMethod();5PHP Fatal error:  Cannot redeclare notEmptyTest::someStaticMethod() in /path/to/1.php on line 76PHP Fatal error:  Cannot redeclare notEmptyTest::someOtherStaticMethod() in /path/to/1.php on line 87PHP Fatal error:  Cannot redeclare notEmptyTest::someStaticMethod() in /path/to/2.php on line 78PHP Fatal error:  Cannot redeclare notEmptyTest::someOtherStaticMethod() in /path/to/2.php on line 89notEmptyTest::someOtherStaticMethod();10notEmptyTest::someStaticMethod();11notEmptyTest::someOtherStaticMethod();12notEmptyTest::someStaticMethod();someOtherStaticMethod
Using AI Code Generation
1notEmptyTest::someOtherStaticMethod();2notEmptyTest::someOtherStaticMethod();3{4    public static function someOtherStaticMethod()5    {6        return 'someOtherStaticMethod';7    }8}9notEmptyTest::someOtherStaticMethod();10include('1.php');11notEmptyTest::someOtherStaticMethod();someOtherStaticMethod
Using AI Code Generation
1notEmptyTest::someOtherStaticMethod();2notEmptyTest::someOtherStaticMethod();3class notEmptyTest {4    public static $testProperty = "This is a static property";5    public static function someOtherStaticMethod() {6        echo "This is a static method";7    }8}9echo notEmptyTest::$testProperty;10echo notEmptyTest::$testProperty;11class notEmptyTest {12    const TEST_CONSTANT = "This is a constant";13}14echo notEmptyTest::TEST_CONSTANT;15echo notEmptyTest::TEST_CONSTANT;someOtherStaticMethod
Using AI Code Generation
1notEmptyTest::someOtherStaticMethod();2class baseClass {3   function printHello() {4       echo 'Hello ';5   }6}7class subClass extends baseClass {8   function printHello() {9       parent::printHello();10       echo 'World!';11   }12}13$obj = new subClass();14$obj->printHello();15abstract class AbstractClass {16   abstract protected function getValue();17   abstract protected function prefixValue($prefix);18   public function printOut() {19       print $this->getValue() . "20";21   }22}23class ConcreteClass1 extends AbstractClass {24   protected function getValue() {25       return "ConcreteClass1";26   }27   public function prefixValue($prefix) {28       return "{$prefix}ConcreteClass1";29   }30}31class ConcreteClass2 extends AbstractClass {32   public function getValue() {33       return "ConcreteClass2";34   }35   public function prefixValue($prefix) {36       return "{$prefix}ConcreteClass2";37   }38}39$class1 = new ConcreteClass1;40$class1->printOut();41echo $class1->prefixValue('FOO_') . "42";43$class2 = new ConcreteClass2;44$class2->printOut();45echo $class2->prefixValue('FOO_') . "46";47interface iTemplate {48   public function setVariable($name, $var);49   public function getHtml($template);50}51class Template implements iTemplate {52   private $vars = array();53   public function setVariable($name, $var) {54       $this->vars[$name] = $var;55   }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 someOtherStaticMethod 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!!
