From a6b2704c665a728ac2f874ce7bc398c018cd6d24 Mon Sep 17 00:00:00 2001 From: Meritoo Date: Sun, 5 May 2019 23:05:42 +0200 Subject: [PATCH] BaseType::isCorrectType() method > make static --- src/Traits/Test/Base/BaseTestCaseTrait.php | 2 +- .../Test/Base/BaseTypeTestCaseTrait.php | 8 +- src/Type/Base/BaseType.php | 22 +++--- src/Utilities/Date.php | 2 +- .../Base/UnknownTypeExceptionTest.php | 2 +- tests/Type/Base/BaseTypeTest.php | 79 +++++++++++-------- tests/Type/DatePartTypeTest.php | 20 ++--- tests/Type/DatePeriodTest.php | 10 +-- tests/Type/OopVisibilityTypeTest.php | 12 +-- tests/Utilities/DateTest.php | 8 +- 10 files changed, 86 insertions(+), 79 deletions(-) diff --git a/src/Traits/Test/Base/BaseTestCaseTrait.php b/src/Traits/Test/Base/BaseTestCaseTrait.php index dfb5452..504922d 100644 --- a/src/Traits/Test/Base/BaseTestCaseTrait.php +++ b/src/Traits/Test/Base/BaseTestCaseTrait.php @@ -187,7 +187,7 @@ trait BaseTestCaseTrait int $requiredArgumentsCount = 0 ): void { // Type of visibility is not correct? - if (!(new OopVisibilityType())->isCorrectType($visibilityType)) { + if (!OopVisibilityType::isCorrectType($visibilityType)) { throw UnknownOopVisibilityTypeException::createException($visibilityType); } diff --git a/src/Traits/Test/Base/BaseTypeTestCaseTrait.php b/src/Traits/Test/Base/BaseTypeTestCaseTrait.php index 4fc2f1a..e08c7b4 100644 --- a/src/Traits/Test/Base/BaseTypeTestCaseTrait.php +++ b/src/Traits/Test/Base/BaseTypeTestCaseTrait.php @@ -33,14 +33,14 @@ trait BaseTypeTestCaseTrait /** * Verifies whether given type is correct or not * - * @param null|string $type Type to verify - * @param bool $expected Information if given type is correct or not + * @param bool $isCorrect Information if processed type is correct + * @param bool $expected Expected information if processed type is correct * * @dataProvider provideTypeToVerify */ - public function testIfGivenTypeIsCorrect(?string $type, bool $expected): void + public function testIfGivenTypeIsCorrect(bool $isCorrect, bool $expected): void { - static::assertEquals($expected, $this->getTestedTypeInstance()->isCorrectType($type)); + static::assertEquals($expected, $isCorrect); } /** diff --git a/src/Type/Base/BaseType.php b/src/Type/Base/BaseType.php index fa3f6c7..a1465be 100644 --- a/src/Type/Base/BaseType.php +++ b/src/Type/Base/BaseType.php @@ -26,6 +26,17 @@ abstract class BaseType */ private $all; + /** + * Returns information if given type is correct + * + * @param null|string $type The type to check + * @return bool + */ + public static function isCorrectType(?string $type): bool + { + return in_array($type, (new static())->getAll(), true); + } + /** * Returns all types * @@ -39,15 +50,4 @@ abstract class BaseType return $this->all; } - - /** - * Returns information if given type is correct - * - * @param null|string $type The type to check - * @return bool - */ - public function isCorrectType(?string $type): bool - { - return in_array($type, $this->getAll(), true); - } } diff --git a/src/Utilities/Date.php b/src/Utilities/Date.php index ab60312..be378c8 100644 --- a/src/Utilities/Date.php +++ b/src/Utilities/Date.php @@ -76,7 +76,7 @@ class Date * Type of period is incorrect? * Nothing to do */ - if (!(new DatePeriod())->isCorrectType($period)) { + if (!DatePeriod::isCorrectType($period)) { return null; } diff --git a/tests/Exception/Base/UnknownTypeExceptionTest.php b/tests/Exception/Base/UnknownTypeExceptionTest.php index 6820c79..7e97f33 100644 --- a/tests/Exception/Base/UnknownTypeExceptionTest.php +++ b/tests/Exception/Base/UnknownTypeExceptionTest.php @@ -94,7 +94,7 @@ class TestService */ public function getTranslatedType($type) { - if ((new TestType())->isCorrectType($type)) { + if (TestType::isCorrectType($type)) { return ucfirst(str_replace('_', ' ', $type)); } diff --git a/tests/Type/Base/BaseTypeTest.php b/tests/Type/Base/BaseTypeTest.php index 99decad..e90cc9d 100644 --- a/tests/Type/Base/BaseTypeTest.php +++ b/tests/Type/Base/BaseTypeTest.php @@ -41,15 +41,25 @@ class BaseTypeTest extends BaseTestCase } /** - * @param BaseType $type Type of something - * @param string $toVerifyType Concrete type to verify (of given instance of type) - * @param bool $isCorrect Expected information if given type is correct + * @param string $toVerifyType Concrete type to verify + * @param bool $isCorrect Expected information if given type is correct * - * @dataProvider provideTypeWithConcreteType + * @dataProvider provideTypeToVerifyUsingTestEmptyType */ - public function testIsCorrectType(BaseType $type, $toVerifyType, $isCorrect) + public function testIsCorrectTypeUsingTestEmptyType(?string $toVerifyType, bool $isCorrect): void { - self::assertEquals($isCorrect, $type->isCorrectType($toVerifyType)); + self::assertEquals($isCorrect, TestEmptyType::isCorrectType($toVerifyType)); + } + + /** + * @param string $toVerifyType Concrete type to verify + * @param bool $isCorrect Expected information if given type is correct + * + * @dataProvider provideTypeToVerifyUsingTestType + */ + public function testIsCorrectTypeUsingTestType(?string $toVerifyType, bool $isCorrect): void + { + self::assertEquals($isCorrect, TestType::isCorrectType($toVerifyType)); } /** @@ -78,107 +88,108 @@ class BaseTypeTest extends BaseTestCase * * @return Generator */ - public function provideTypeWithConcreteType() + public function provideTypeToVerifyUsingTestEmptyType(): ?Generator { yield[ - new TestEmptyType(), null, false, ]; yield[ - new TestEmptyType(), - false, + 'null', false, ]; yield[ - new TestEmptyType(), - true, + 'false', + false, + ]; + + yield[ + 'true', false, ]; yield[ - new TestEmptyType(), '', false, ]; yield[ - new TestEmptyType(), - 0, + '0', false, ]; yield[ - new TestEmptyType(), - 1, + '1', false, ]; yield[ - new TestEmptyType(), 'lorem', false, ]; + } + /** + * Provides type of something for testing the isCorrectType() method + * + * @return Generator + */ + public function provideTypeToVerifyUsingTestType(): ?Generator + { yield[ - new TestType(), null, false, ]; yield[ - new TestType(), - false, + 'null', false, ]; yield[ - new TestType(), - true, + 'false', + false, + ]; + + yield[ + 'true', false, ]; yield[ - new TestType(), '', false, ]; yield[ - new TestType(), - 0, + '0', false, ]; yield[ - new TestType(), - 1, + '1', false, ]; yield[ - new TestType(), 'lorem', false, ]; yield[ - new TestType(), 'test', false, ]; yield[ - new TestType(), - TestType::TEST_1, + 'test_1', true, ]; yield[ - new TestType(), - TestType::TEST_2, + 'test_2', true, ]; } diff --git a/tests/Type/DatePartTypeTest.php b/tests/Type/DatePartTypeTest.php index 4e9b312..64d7c15 100644 --- a/tests/Type/DatePartTypeTest.php +++ b/tests/Type/DatePartTypeTest.php @@ -30,52 +30,52 @@ class DatePartTypeTest extends BaseTypeTestCase public function provideTypeToVerify(): Generator { yield[ - '', + DatePartType::isCorrectType(''), false, ]; yield[ - null, + DatePartType::isCorrectType(null), false, ]; yield[ - '0', + DatePartType::isCorrectType('0'), false, ]; yield[ - '1', + DatePartType::isCorrectType('1'), false, ]; yield[ - 'day', + DatePartType::isCorrectType('day'), true, ]; yield[ - 'hour', + DatePartType::isCorrectType('hour'), true, ]; yield[ - 'minute', + DatePartType::isCorrectType('minute'), true, ]; yield[ - 'month', + DatePartType::isCorrectType('month'), true, ]; yield[ - 'second', + DatePartType::isCorrectType('second'), true, ]; yield[ - 'year', + DatePartType::isCorrectType('year'), true, ]; } diff --git a/tests/Type/DatePeriodTest.php b/tests/Type/DatePeriodTest.php index bb57851..bcb9ca2 100644 --- a/tests/Type/DatePeriodTest.php +++ b/tests/Type/DatePeriodTest.php @@ -219,27 +219,27 @@ class DatePeriodTest extends BaseTypeTestCase public function provideTypeToVerify(): Generator { yield[ - '', + DatePeriod::isCorrectType(''), false, ]; yield[ - '-1', + DatePeriod::isCorrectType('-1'), false, ]; yield[ - '4', + DatePeriod::isCorrectType('4'), true, ]; yield[ - '3', + DatePeriod::isCorrectType('3'), true, ]; yield[ - '8', + DatePeriod::isCorrectType('8'), true, ]; } diff --git a/tests/Type/OopVisibilityTypeTest.php b/tests/Type/OopVisibilityTypeTest.php index 34fabc1..2f858cd 100644 --- a/tests/Type/OopVisibilityTypeTest.php +++ b/tests/Type/OopVisibilityTypeTest.php @@ -30,32 +30,32 @@ class OopVisibilityTypeTest extends BaseTypeTestCase public function provideTypeToVerify(): Generator { yield[ - '', + OopVisibilityType::isCorrectType(''), false, ]; yield[ - null, + OopVisibilityType::isCorrectType(null), false, ]; yield[ - '-1', + OopVisibilityType::isCorrectType('-1'), false, ]; yield[ - '1', + OopVisibilityType::isCorrectType('1'), true, ]; yield[ - '2', + OopVisibilityType::isCorrectType('2'), true, ]; yield[ - '3', + OopVisibilityType::isCorrectType('3'), true, ]; } diff --git a/tests/Utilities/DateTest.php b/tests/Utilities/DateTest.php index 15ae92b..a899f48 100644 --- a/tests/Utilities/DateTest.php +++ b/tests/Utilities/DateTest.php @@ -649,13 +649,9 @@ class DateTest extends BaseTestCase self::assertTrue($randomDate >= $intervalMinDate && $randomDate <= $intervalMaxDate); } - /** - * @param mixed $period Empty value, e.g. "" - * @dataProvider provideEmptyScalarValue - */ - public function testGetDatesForPeriodUsingEmptyPeriod($period): void + public function testGetDatesForPeriodUsingEmptyString(): void { - self::assertNull(Date::getDatesForPeriod($period)); + self::assertNull(Date::getDatesForPeriod('')); } /**