diff --git a/composer.json b/composer.json index 1b5724c..b519819 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "meritoo/common-library", "description": "Useful classes, methods, extensions etc.", "license": "MIT", - "version": "0.0.10", + "version": "0.0.11", "authors": [ { "name": "Meritoo.pl", diff --git a/src/Meritoo/Common/Test/Base/BaseTestCase.php b/src/Meritoo/Common/Test/Base/BaseTestCase.php index 793e182..7a5c1d5 100644 --- a/src/Meritoo/Common/Test/Base/BaseTestCase.php +++ b/src/Meritoo/Common/Test/Base/BaseTestCase.php @@ -180,7 +180,7 @@ abstract class BaseTestCase extends TestCase /** * Verifies visibility and arguments of class constructor * - * @param string $classNamespace Namespace of class that contains method to verify + * @param string $classNamespace Namespace of class that contains constructor to verify * @param string $visibilityType Expected visibility of verified method. One of OopVisibilityType class * constants. * @param int $argumentsCount (optional) Expected count/amount of arguments of the verified method @@ -202,4 +202,20 @@ abstract class BaseTestCase extends TestCase return $this->verifyMethodVisibilityAndArguments($classNamespace, $method, $visibilityType, $argumentsCount, $requiredArgumentsCount); } + + /** + * Asserts that class with given namespace has no constructor + * + * @param string $classNamespace Namespace of class that contains constructor to verify + */ + protected static function assertHasNoConstructor($classNamespace) + { + /* + * Let's grab the constructor + */ + $reflection = new ReflectionClass($classNamespace); + $constructor = $reflection->getConstructor(); + + static::assertNull($constructor); + } } diff --git a/tests/Meritoo/Common/Test/Utilities/ArraysTest.php b/tests/Meritoo/Common/Test/Utilities/ArraysTest.php index db135db..b7df01d 100644 --- a/tests/Meritoo/Common/Test/Utilities/ArraysTest.php +++ b/tests/Meritoo/Common/Test/Utilities/ArraysTest.php @@ -8,8 +8,8 @@ namespace Meritoo\Common\Test\Utilities; +use Meritoo\Common\Test\Base\BaseTestCase; use Meritoo\Common\Utilities\Arrays; -use PHPUnit\Framework\TestCase; /** * Tests of the useful arrays methods @@ -17,7 +17,7 @@ use PHPUnit\Framework\TestCase; * @author Krzysztof Niziol * @copyright Meritoo.pl */ -class ArraysTest extends TestCase +class ArraysTest extends BaseTestCase { private $simpleArray; private $simpleArrayWithKeys; @@ -25,6 +25,11 @@ class ArraysTest extends TestCase private $complexArray; private $superComplexArray; + public function verifyConstructor() + { + static::assertHasNoConstructor(Arrays::class); + } + public function testValues2string() { /* diff --git a/tests/Meritoo/Common/Test/Utilities/BundleTest.php b/tests/Meritoo/Common/Test/Utilities/BundleTest.php index 39d002c..a5eb060 100644 --- a/tests/Meritoo/Common/Test/Utilities/BundleTest.php +++ b/tests/Meritoo/Common/Test/Utilities/BundleTest.php @@ -8,8 +8,8 @@ namespace Meritoo\Common\Test\Utilities; +use Meritoo\Common\Test\Base\BaseTestCase; use Meritoo\Common\Utilities\Bundle; -use PHPUnit\Framework\TestCase; /** * Tests of the useful methods for bundle @@ -17,8 +17,13 @@ use PHPUnit\Framework\TestCase; * @author Krzysztof Niziol * @copyright Meritoo.pl */ -class BundleTest extends TestCase +class BundleTest extends BaseTestCase { + public function verifyConstructor() + { + static::assertHasNoConstructor(Bundle::class); + } + public function testGetBundleViewPathEmptyPathAndBundle() { self::assertNull(Bundle::getBundleViewPath('', '')); diff --git a/tests/Meritoo/Common/Test/Utilities/ComposerTest.php b/tests/Meritoo/Common/Test/Utilities/ComposerTest.php index c52900d..eee6eed 100644 --- a/tests/Meritoo/Common/Test/Utilities/ComposerTest.php +++ b/tests/Meritoo/Common/Test/Utilities/ComposerTest.php @@ -27,6 +27,11 @@ class ComposerTest extends BaseTestCase */ private $composerJsonPath; + public function verifyConstructor() + { + static::assertHasNoConstructor(Composer::class); + } + /** * @param string $composerJsonPath Empty value, e.g. "" * @dataProvider provideEmptyValue diff --git a/tests/Meritoo/Common/Test/Utilities/DateTest.php b/tests/Meritoo/Common/Test/Utilities/DateTest.php index c9d4845..b175974 100644 --- a/tests/Meritoo/Common/Test/Utilities/DateTest.php +++ b/tests/Meritoo/Common/Test/Utilities/DateTest.php @@ -23,6 +23,11 @@ use Meritoo\Common\Utilities\Date; */ class DateTest extends BaseTestCase { + public function verifyConstructor() + { + static::assertHasNoConstructor(Date::class); + } + /** * @param mixed $value Empty value, e.g. "" * @dataProvider provideEmptyValue diff --git a/tests/Meritoo/Common/Test/Utilities/GeneratorUtilityTest.php b/tests/Meritoo/Common/Test/Utilities/GeneratorUtilityTest.php index 284d80d..25ff700 100644 --- a/tests/Meritoo/Common/Test/Utilities/GeneratorUtilityTest.php +++ b/tests/Meritoo/Common/Test/Utilities/GeneratorUtilityTest.php @@ -19,6 +19,11 @@ use Meritoo\Common\Utilities\GeneratorUtility; */ class GeneratorUtilityTest extends BaseTestCase { + public function verifyConstructor() + { + static::assertHasNoConstructor(GeneratorUtility::class); + } + public function testGetGeneratorElements() { /* diff --git a/tests/Meritoo/Common/Test/Utilities/LocaleTest.php b/tests/Meritoo/Common/Test/Utilities/LocaleTest.php index 790a313..b28f18d 100644 --- a/tests/Meritoo/Common/Test/Utilities/LocaleTest.php +++ b/tests/Meritoo/Common/Test/Utilities/LocaleTest.php @@ -20,6 +20,11 @@ use Meritoo\Common\Utilities\Locale; */ class LocaleTest extends BaseTestCase { + public function verifyConstructor() + { + static::assertHasNoConstructor(Locale::class); + } + /** * @param mixed $languageCode Empty value, e.g. "" * @dataProvider provideEmptyValue diff --git a/tests/Meritoo/Common/Test/Utilities/MimeTypesTest.php b/tests/Meritoo/Common/Test/Utilities/MimeTypesTest.php index b252b28..164ace8 100644 --- a/tests/Meritoo/Common/Test/Utilities/MimeTypesTest.php +++ b/tests/Meritoo/Common/Test/Utilities/MimeTypesTest.php @@ -20,6 +20,11 @@ use Meritoo\Common\Utilities\MimeTypes; */ class MimeTypesTest extends BaseTestCase { + public function verifyConstructor() + { + static::assertHasNoConstructor(MimeTypes::class); + } + /** * @param mixed $mimeType Empty value, e.g. "" * @dataProvider provideEmptyValue diff --git a/tests/Meritoo/Common/Test/Utilities/MiscellaneousTest.php b/tests/Meritoo/Common/Test/Utilities/MiscellaneousTest.php index b4f9267..1ace0da 100644 --- a/tests/Meritoo/Common/Test/Utilities/MiscellaneousTest.php +++ b/tests/Meritoo/Common/Test/Utilities/MiscellaneousTest.php @@ -28,6 +28,11 @@ class MiscellaneousTest extends BaseTestCase private $stringCommaSeparated; private $stringDotSeparated; + public function verifyConstructor() + { + static::assertHasNoConstructor(Miscellaneous::class); + } + public function testGetDirectoryContent() { $directoryPath = __DIR__ . '/../'; diff --git a/tests/Meritoo/Common/Test/Utilities/ReflectionTest.php b/tests/Meritoo/Common/Test/Utilities/ReflectionTest.php index 94f97ac..6983126 100644 --- a/tests/Meritoo/Common/Test/Utilities/ReflectionTest.php +++ b/tests/Meritoo/Common/Test/Utilities/ReflectionTest.php @@ -29,6 +29,11 @@ use Meritoo\Common\Utilities\Reflection; */ class ReflectionTest extends BaseTestCase { + public function verifyConstructor() + { + static::assertHasNoConstructor(Reflection::class); + } + /** * @param mixed $invalidClass Empty value, e.g. "" * @dataProvider provideEmptyValue diff --git a/tests/Meritoo/Common/Test/Utilities/RegexTest.php b/tests/Meritoo/Common/Test/Utilities/RegexTest.php index 8852616..78e7936 100644 --- a/tests/Meritoo/Common/Test/Utilities/RegexTest.php +++ b/tests/Meritoo/Common/Test/Utilities/RegexTest.php @@ -8,7 +8,7 @@ namespace Meritoo\Common\Utilities; -use PHPUnit\Framework\TestCase; +use Meritoo\Common\Test\Base\BaseTestCase; /** * Tests of the useful regular expressions methods @@ -16,11 +16,16 @@ use PHPUnit\Framework\TestCase; * @author Krzysztof Niziol * @copyright Meritoo.pl */ -class RegexTest extends TestCase +class RegexTest extends BaseTestCase { private $simpleText; private $camelCaseText; + public function verifyConstructor() + { + static::assertHasNoConstructor(Regex::class); + } + public function testGetCamelCaseParts() { $parts = []; diff --git a/tests/Meritoo/Common/Test/Utilities/UriTest.php b/tests/Meritoo/Common/Test/Utilities/UriTest.php index 179a430..88e1c99 100644 --- a/tests/Meritoo/Common/Test/Utilities/UriTest.php +++ b/tests/Meritoo/Common/Test/Utilities/UriTest.php @@ -19,6 +19,11 @@ use Meritoo\Common\Utilities\Uri; */ class UriTest extends BaseTestCase { + public function verifyConstructor() + { + static::assertHasNoConstructor(Uri::class); + } + public function testAddProtocolToUrl() { $http = 'http'; diff --git a/tests/Meritoo/Common/Test/Utilities/XmlTest.php b/tests/Meritoo/Common/Test/Utilities/XmlTest.php index 168a81e..7b2c316 100644 --- a/tests/Meritoo/Common/Test/Utilities/XmlTest.php +++ b/tests/Meritoo/Common/Test/Utilities/XmlTest.php @@ -8,8 +8,8 @@ namespace Meritoo\Common\Test\Utilities; +use Meritoo\Common\Test\Base\BaseTestCase; use Meritoo\Common\Utilities\Xml; -use PHPUnit\Framework\TestCase; use SimpleXMLElement; /** @@ -18,11 +18,16 @@ use SimpleXMLElement; * @author Krzysztof Niziol * @copyright Meritoo.pl */ -class XmlTest extends TestCase +class XmlTest extends BaseTestCase { private $simpleXml; private $advancedXml; + public function verifyConstructor() + { + static::assertHasNoConstructor(Xml::class); + } + public function testMergeNodes() { /*