当前路径:vendor/phpunit/phpunit/tests/unit/Framework/TestSuiteIteratorTest.php <?php declare(strict_types=1); /* * This file is part of PHPUnit. * * (c) Sebastian Bergmann <sebastian@phpunit.de> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace PHPUnit\Framework; /** * @small */ final class TestSuiteIteratorTest extends TestCase { public function testKeyForEmptyTestSuiteInitiallyReturnsZero(): void { $testSuite = new TestSuite; $subject = new TestSuiteIterator($testSuite); $this->assertSame(0, $subject->key()); } public function testValidForEmptyTestSuiteInitiallyReturnsFalse(): void { $testSuite = new TestSuite; $subject = new TestSuiteIterator($testSuite); $this->assertFalse($subject->valid()); } public function testKeyForNonEmptyTestSuiteInitiallyReturnsZero(): void { $subject = new TestSuiteIterator($this->suiteWithEmptyTestCase()); $this->assertSame(0, $subject->key()); } public function testValidForNonEmptyTestSuiteInitiallyReturnsTrue(): void { $subject = new TestSuiteIterator($this->suiteWithEmptyTestCase()); $this->assertTrue($subject->valid()); } public function testCurrentForNonEmptyTestSuiteInitiallyReturnsFirstTest(): void { $test = new \EmptyTestCaseTest; $testSuite = new TestSuite; $testSuite->addTest($test); $subject = new TestSuiteIterator($testSuite); $this->assertSame($test, $subject->current()); } public function testRewindResetsKeyToZero(): void { $subject = new TestSuiteIterator($this->suiteWithEmptyTestCase()); $subject->next(); $subject->rewind(); $this->assertSame(0, $subject->key()); } public function testRewindResetsCurrentToFirstElement(): void { $testSuite = new TestSuite; $test = new \EmptyTestCaseTest; $testSuite->addTest($test); $subject = new TestSuiteIterator($testSuite); $subject->next(); $subject->rewind(); $this->assertSame($test, $subject->current()); } public function testNextIncreasesKeyFromZeroToOne(): void { $subject = new TestSuiteIterator($this->suiteWithEmptyTestCase()); $subject->next(); $this->assertSame(1, $subject->key()); } public function testValidAfterLastElementReturnsFalse(): void { $subject = new TestSuiteIterator($this->suiteWithEmptyTestCase()); $subject->next(); $this->assertFalse($subject->valid()); } public function testGetChildrenForEmptyTestSuiteThrowsException(): void { $subject = new TestSuiteIterator(new TestSuite); $this->expectException(NoChildTestSuiteException::class); $subject->getChildren(); } public function testGetChildrenForCurrentTestThrowsException(): void { $subject = new TestSuiteIterator($this->suiteWithEmptyTestCase()); $this->expectException(NoChildTestSuiteException::class); $subject->getChildren(); } public function testGetChildrenReturnsNewInstanceWithCurrentTestSuite(): void { $childSuite = new TestSuite; $test = new \EmptyTestCaseTest; $childSuite->addTest($test); $testSuite = new TestSuite; $testSuite->addTest($childSuite); $subject = new TestSuiteIterator($testSuite); $children = $subject->getChildren(); $this->assertNotSame($subject, $children); $this->assertSame($test, $children->current()); } public function testHasChildrenForCurrentTestSuiteReturnsTrue(): void { $testSuite = new TestSuite; $childSuite = new TestSuite; $testSuite->addTest($childSuite); $subject = new TestSuiteIterator($testSuite); $this->assertTrue($subject->hasChildren()); } public function testHasChildrenForCurrentTestReturnsFalse(): void { $subject = new TestSuiteIterator($this->suiteWithEmptyTestCase()); $this->assertFalse($subject->hasChildren()); } public function testHasChildrenForNoTestsReturnsFalse(): void { $subject = new TestSuiteIterator(new TestSuite); $this->assertFalse($subject->hasChildren()); } private function suiteWithEmptyTestCase(): TestSuite { $suite = new TestSuite; $suite->addTest(new \EmptyTestCaseTest); return $suite; } }
相关源码
- 可旋转的彩色立方体C#源代码2021-10-29
- 在线考试系统2021-10-15
- EduSoho开源网校系统源码2019-06-27
- 仿拼多多小程序商城源码2019-06-06
- PHP5网站运行监测系统源码2017-04-14
关于我们 | 顾问团队 | 发展历程 | 联系我们 | 源码上传
联系电话(Tel):4008-010-151(免长途)
地址:北京市海淀区大恒科技大厦五层 邮编:100080
Floor 5th,Daheng Building,Zhongguancun,Beijing,China,100080
51Aspx.com 版权所有 CopyRight © 2006-2023. 京ICP备09089570号 | 京公网安备11010702000869号
联系电话(Tel):4008-010-151(免长途)
地址:北京市海淀区大恒科技大厦五层 邮编:100080
Floor 5th,Daheng Building,Zhongguancun,Beijing,China,100080
51Aspx.com 版权所有 CopyRight © 2006-2023. 京ICP备09089570号 | 京公网安备11010702000869号