Yaffs site version 1.1
[yaffs-website] / vendor / phpunit / phpunit / tests / Framework / SuiteTest.php
diff --git a/vendor/phpunit/phpunit/tests/Framework/SuiteTest.php b/vendor/phpunit/phpunit/tests/Framework/SuiteTest.php
new file mode 100644 (file)
index 0000000..e3f58b3
--- /dev/null
@@ -0,0 +1,242 @@
+<?php
+/*
+ * 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.
+ */
+
+require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'BeforeAndAfterTest.php';
+require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'BeforeClassAndAfterClassTest.php';
+require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'TestWithTest.php';
+require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'DataProviderSkippedTest.php';
+require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'DataProviderIncompleteTest.php';
+require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'InheritedTestCase.php';
+require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'NoTestCaseClass.php';
+require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'NoTestCases.php';
+require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'NotPublicTestCase.php';
+require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'NotVoidTestCase.php';
+require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'OverrideTestCase.php';
+require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'RequirementsClassBeforeClassHookTest.php';
+
+/**
+ * @since      Class available since Release 2.0.0
+ * @covers     PHPUnit_Framework_TestSuite
+ */
+class Framework_SuiteTest extends PHPUnit_Framework_TestCase
+{
+    protected $result;
+
+    protected function setUp()
+    {
+        $this->result = new PHPUnit_Framework_TestResult;
+    }
+
+    public static function suite()
+    {
+        $suite = new PHPUnit_Framework_TestSuite;
+
+        $suite->addTest(new self('testAddTestSuite'));
+        $suite->addTest(new self('testInheritedTests'));
+        $suite->addTest(new self('testNoTestCases'));
+        $suite->addTest(new self('testNoTestCaseClass'));
+        $suite->addTest(new self('testNotExistingTestCase'));
+        $suite->addTest(new self('testNotPublicTestCase'));
+        $suite->addTest(new self('testNotVoidTestCase'));
+        $suite->addTest(new self('testOneTestCase'));
+        $suite->addTest(new self('testShadowedTests'));
+        $suite->addTest(new self('testBeforeClassAndAfterClassAnnotations'));
+        $suite->addTest(new self('testBeforeAnnotation'));
+        $suite->addTest(new self('testTestWithAnnotation'));
+        $suite->addTest(new self('testSkippedTestDataProvider'));
+        $suite->addTest(new self('testIncompleteTestDataProvider'));
+        $suite->addTest(new self('testRequirementsBeforeClassHook'));
+        $suite->addTest(new self('testDontSkipInheritedClass'));
+
+        return $suite;
+    }
+
+    public function testAddTestSuite()
+    {
+        $suite = new PHPUnit_Framework_TestSuite(
+            'OneTestCase'
+        );
+
+        $suite->run($this->result);
+
+        $this->assertEquals(1, count($this->result));
+    }
+
+    public function testInheritedTests()
+    {
+        $suite = new PHPUnit_Framework_TestSuite(
+            'InheritedTestCase'
+        );
+
+        $suite->run($this->result);
+
+        $this->assertTrue($this->result->wasSuccessful());
+        $this->assertEquals(2, count($this->result));
+    }
+
+    public function testNoTestCases()
+    {
+        $suite = new PHPUnit_Framework_TestSuite(
+            'NoTestCases'
+        );
+
+        $suite->run($this->result);
+
+        $this->assertTrue(!$this->result->wasSuccessful());
+        $this->assertEquals(1, $this->result->failureCount());
+        $this->assertEquals(1, count($this->result));
+    }
+
+    /**
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testNoTestCaseClass()
+    {
+        $suite = new PHPUnit_Framework_TestSuite('NoTestCaseClass');
+    }
+
+    public function testNotExistingTestCase()
+    {
+        $suite = new self('notExistingMethod');
+
+        $suite->run($this->result);
+
+        $this->assertEquals(0, $this->result->errorCount());
+        $this->assertEquals(1, $this->result->failureCount());
+        $this->assertEquals(1, count($this->result));
+    }
+
+    public function testNotPublicTestCase()
+    {
+        $suite = new PHPUnit_Framework_TestSuite(
+            'NotPublicTestCase'
+        );
+
+        $this->assertEquals(2, count($suite));
+    }
+
+    public function testNotVoidTestCase()
+    {
+        $suite = new PHPUnit_Framework_TestSuite(
+            'NotVoidTestCase'
+        );
+
+        $this->assertEquals(1, count($suite));
+    }
+
+    public function testOneTestCase()
+    {
+        $suite = new PHPUnit_Framework_TestSuite(
+            'OneTestCase'
+        );
+
+        $suite->run($this->result);
+
+        $this->assertEquals(0, $this->result->errorCount());
+        $this->assertEquals(0, $this->result->failureCount());
+        $this->assertEquals(1, count($this->result));
+        $this->assertTrue($this->result->wasSuccessful());
+    }
+
+    public function testShadowedTests()
+    {
+        $suite = new PHPUnit_Framework_TestSuite(
+            'OverrideTestCase'
+        );
+
+        $suite->run($this->result);
+
+        $this->assertEquals(1, count($this->result));
+    }
+
+    public function testBeforeClassAndAfterClassAnnotations()
+    {
+        $suite = new PHPUnit_Framework_TestSuite(
+            'BeforeClassAndAfterClassTest'
+        );
+
+        BeforeClassAndAfterClassTest::resetProperties();
+        $suite->run($this->result);
+
+        $this->assertEquals(1, BeforeClassAndAfterClassTest::$beforeClassWasRun, '@beforeClass method was not run once for the whole suite.');
+        $this->assertEquals(1, BeforeClassAndAfterClassTest::$afterClassWasRun, '@afterClass method was not run once for the whole suite.');
+    }
+
+    public function testBeforeAnnotation()
+    {
+        $test = new PHPUnit_Framework_TestSuite(
+            'BeforeAndAfterTest'
+        );
+
+        BeforeAndAfterTest::resetProperties();
+        $result = $test->run();
+
+        $this->assertEquals(2, BeforeAndAfterTest::$beforeWasRun);
+        $this->assertEquals(2, BeforeAndAfterTest::$afterWasRun);
+    }
+
+    public function testTestWithAnnotation()
+    {
+        $test = new PHPUnit_Framework_TestSuite(
+            'TestWithTest'
+        );
+
+        BeforeAndAfterTest::resetProperties();
+        $result = $test->run();
+
+        $this->assertEquals(4, count($result->passed()));
+    }
+
+    public function testSkippedTestDataProvider()
+    {
+        $suite = new PHPUnit_Framework_TestSuite('DataProviderSkippedTest');
+
+        $suite->run($this->result);
+
+        $this->assertEquals(3, $this->result->count());
+        $this->assertEquals(1, $this->result->skippedCount());
+    }
+
+    public function testIncompleteTestDataProvider()
+    {
+        $suite = new PHPUnit_Framework_TestSuite('DataProviderIncompleteTest');
+
+        $suite->run($this->result);
+
+        $this->assertEquals(3, $this->result->count());
+        $this->assertEquals(1, $this->result->notImplementedCount());
+    }
+
+    public function testRequirementsBeforeClassHook()
+    {
+        $suite = new PHPUnit_Framework_TestSuite(
+            'RequirementsClassBeforeClassHookTest'
+        );
+
+        $suite->run($this->result);
+
+        $this->assertEquals(0, $this->result->errorCount());
+        $this->assertEquals(1, $this->result->skippedCount());
+    }
+
+    public function testDontSkipInheritedClass()
+    {
+        $suite = new PHPUnit_Framework_TestSuite(
+            'DontSkipInheritedClass'
+        );
+
+        $dir = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'Inheritance' . DIRECTORY_SEPARATOR;
+
+        $suite->addTestFile($dir . 'InheritanceA.php');
+        $suite->addTestFile($dir . 'InheritanceB.php');
+        $result = $suite->run();
+        $this->assertEquals(2, count($result));
+    }
+}