diff --git a/.gitignore b/.gitignore
index a704173b..f3c7abee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
.couscous/
.iso-codes-cache/
.phpcs.cache
-.phpunit.result.cache
+.phpunit.cache/
composer.lock
Makefile
phpcs.xml
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ff1b5162..d6f10773 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -132,12 +132,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\HelloWorld
- */
+#[Group('rule')]
+#[CoversClass(HelloWorld::class)]
final class HelloWorldTest extends RuleTestCase
{
/**
diff --git a/composer.json b/composer.json
index b87ee069..08418c5f 100644
--- a/composer.json
+++ b/composer.json
@@ -30,7 +30,7 @@
"phpstan/phpstan": "^1.9",
"phpstan/phpstan-deprecation-rules": "^1.1",
"phpstan/phpstan-phpunit": "^1.3",
- "phpunit/phpunit": "^9.6",
+ "phpunit/phpunit": "^10.5",
"psr/http-message": "^1.0",
"respect/coding-standard": "^4.0",
"squizlabs/php_codesniffer": "^3.8"
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index d0c51721..949e8c27 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -1,15 +1,12 @@
+ cacheDirectory=".phpunit.cache"
+ backupStaticProperties="false">
tests/unit/
@@ -18,9 +15,9 @@
tests/integration/
-
+
- library/
+ library/
-
+
diff --git a/tests/library/RuleTestCase.php b/tests/library/RuleTestCase.php
index 5802d673..efa3b177 100644
--- a/tests/library/RuleTestCase.php
+++ b/tests/library/RuleTestCase.php
@@ -9,6 +9,8 @@ declare(strict_types=1);
namespace Respect\Validation\Test;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Validatable;
use function implode;
@@ -17,9 +19,6 @@ use function realpath;
use function Respect\Stringifier\stringify;
use function sprintf;
-/**
- * @since 1.0.0
- */
abstract class RuleTestCase extends TestCase
{
/**
@@ -29,7 +28,7 @@ abstract class RuleTestCase extends TestCase
* as the first element and an input in which the validation SHOULD pass.
*
* @api
- * @return mixed[][]
+ * @return array
*/
abstract public static function providerForValidInput(): array;
@@ -40,23 +39,19 @@ abstract class RuleTestCase extends TestCase
* as the first element and an input in which the validation SHOULD NOT pass.
*
* @api
- * @return mixed[][]
+ * @return array
*/
abstract public static function providerForInvalidInput(): array;
- /**
- * @test
- * @dataProvider providerForValidInput
- */
+ #[Test]
+ #[DataProvider('providerForValidInput')]
public function shouldValidateValidInput(Validatable $validator, mixed $input): void
{
self::assertValidInput($validator, $input);
}
- /**
- * @test
- * @dataProvider providerForInvalidInput
- */
+ #[Test]
+ #[DataProvider('providerForInvalidInput')]
public function shouldValidateInvalidInput(Validatable $validator, mixed $input): void
{
self::assertInvalidInput($validator, $input);
diff --git a/tests/unit/Exceptions/CheckExceptionsTest.php b/tests/unit/Exceptions/CheckExceptionsTest.php
index 26ab098b..3a52d29c 100644
--- a/tests/unit/Exceptions/CheckExceptionsTest.php
+++ b/tests/unit/Exceptions/CheckExceptionsTest.php
@@ -10,6 +10,9 @@ declare(strict_types=1);
namespace Respect\Validation\Exceptions;
use DirectoryIterator;
+use PHPUnit\Framework\Attributes\CoversNothing;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Test;
use ReflectionClass;
use Respect\Validation\Test\TestCase;
@@ -17,15 +20,11 @@ use function class_exists;
use function mb_substr;
use function sprintf;
-/**
- * @coversNothing
- */
+#[CoversNothing]
final class CheckExceptionsTest extends TestCase
{
- /**
- * @dataProvider provideListOfRuleNames
- * @test
- */
+ #[Test]
+ #[DataProvider('provideListOfRuleNames')]
public function ruleHasAnExceptionWhichHasValidApi(string $ruleName): void
{
$exceptionClass = 'Respect\\Validation\\Exceptions\\' . $ruleName . 'Exception';
diff --git a/tests/unit/Exceptions/NestedValidationExceptionTest.php b/tests/unit/Exceptions/NestedValidationExceptionTest.php
index 58244974..ca29a003 100644
--- a/tests/unit/Exceptions/NestedValidationExceptionTest.php
+++ b/tests/unit/Exceptions/NestedValidationExceptionTest.php
@@ -9,18 +9,18 @@ declare(strict_types=1);
namespace Respect\Validation\Exceptions;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Message\Formatter;
use Respect\Validation\Message\Stringifier\KeepOriginalStringName;
use Respect\Validation\Test\TestCase;
-/**
- * @covers \Respect\Validation\Exceptions\NestedValidationException
- */
+#[Group('core')]
+#[CoversClass(NestedValidationException::class)]
final class NestedValidationExceptionTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function getChildrenShouldReturnExceptionAddedByAddRelated(): void
{
$composite = new AttributeException('input', 'id', [], new Formatter('strval', new KeepOriginalStringName()));
@@ -30,9 +30,7 @@ final class NestedValidationExceptionTest extends TestCase
self::assertContainsOnly(IntValException::class, $composite->getChildren());
}
- /**
- * @test
- */
+ #[Test]
public function addingTheSameInstanceShouldAddJustOneSingleReference(): void
{
$composite = new AttributeException('input', 'id', [], new Formatter('strval', new KeepOriginalStringName()));
diff --git a/tests/unit/Exceptions/ValidationExceptionTest.php b/tests/unit/Exceptions/ValidationExceptionTest.php
index 46900518..1d1348f1 100644
--- a/tests/unit/Exceptions/ValidationExceptionTest.php
+++ b/tests/unit/Exceptions/ValidationExceptionTest.php
@@ -9,21 +9,20 @@ declare(strict_types=1);
namespace Respect\Validation\Exceptions;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Message\Formatter;
use Respect\Validation\Message\Stringifier\KeepOriginalStringName;
use Respect\Validation\Test\TestCase;
use function trim;
-/**
- * @group core
- * @covers \Respect\Validation\Exceptions\ValidationException
- */
+#[Group('core')]
+#[CoversClass(ValidationException::class)]
final class ValidationExceptionTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function itShouldImplementException(): void
{
$sut = new ValidationException('input', 'id', [], $this->createFormatter());
@@ -31,9 +30,7 @@ final class ValidationExceptionTest extends TestCase
self::assertInstanceOf(Exception::class, $sut);
}
- /**
- * @test
- */
+ #[Test]
public function itShouldRetrieveId(): void
{
$id = 'my id';
@@ -42,9 +39,7 @@ final class ValidationExceptionTest extends TestCase
self::assertSame($id, $sut->getId());
}
- /**
- * @test
- */
+ #[Test]
public function itShouldRetrieveParams(): void
{
$params = ['foo' => true, 'bar' => 23];
@@ -54,9 +49,7 @@ final class ValidationExceptionTest extends TestCase
self::assertSame($params, $sut->getParams());
}
- /**
- * @test
- */
+ #[Test]
public function itShouldRetrieveOneSingleParameter(): void
{
$name = 'any name';
@@ -67,9 +60,7 @@ final class ValidationExceptionTest extends TestCase
self::assertSame($value, $sut->getParam($name));
}
- /**
- * @test
- */
+ #[Test]
public function itShouldReturnNullWhenParameterCanNotBeFound(): void
{
$sut = new ValidationException('input', 'id', [], $this->createFormatter());
@@ -77,9 +68,7 @@ final class ValidationExceptionTest extends TestCase
self::assertNull($sut->getParam('foo'));
}
- /**
- * @test
- */
+ #[Test]
public function itShouldHaveTemplateByDefault(): void
{
$sut = new ValidationException('input', 'id', [], $this->createFormatter());
@@ -87,9 +76,7 @@ final class ValidationExceptionTest extends TestCase
self::assertSame('"input" must be valid', $sut->getMessage());
}
- /**
- * @test
- */
+ #[Test]
public function itShouldUpdateMode(): void
{
$sut = new ValidationException('input', 'id', [], $this->createFormatter());
@@ -98,9 +85,7 @@ final class ValidationExceptionTest extends TestCase
self::assertSame('"input" must not be valid', $sut->getMessage());
}
- /**
- * @test
- */
+ #[Test]
public function itShouldUpdateTemplate(): void
{
$template = 'This is my new template';
@@ -111,9 +96,7 @@ final class ValidationExceptionTest extends TestCase
self::assertEquals($template, $sut->getMessage());
}
- /**
- * @test
- */
+ #[Test]
public function itShouldTellWhenHasAsCustomUpdateTemplate(): void
{
$sut = new ValidationException('input', 'id', [], $this->createFormatter());
@@ -125,9 +108,7 @@ final class ValidationExceptionTest extends TestCase
self::assertTrue($sut->hasCustomTemplate());
}
- /**
- * @test
- */
+ #[Test]
public function itShouldUseFormatter(): void
{
$template = ' This is my new template ';
@@ -139,9 +120,7 @@ final class ValidationExceptionTest extends TestCase
self::assertEquals($expected, $sut->getMessage());
}
- /**
- * @test
- */
+ #[Test]
public function itShouldReplacePlaceholders(): void
{
$sut = new ValidationException('foo', 'id', ['bar' => 1, 'baz' => 2], $this->createFormatter());
@@ -153,9 +132,7 @@ final class ValidationExceptionTest extends TestCase
);
}
- /**
- * @test
- */
+ #[Test]
public function itShouldKeepPlaceholdersThatCanNotReplace(): void
{
$sut = new ValidationException('foo', 'id', ['foo' => 1], $this->createFormatter());
@@ -167,9 +144,7 @@ final class ValidationExceptionTest extends TestCase
);
}
- /**
- * @test
- */
+ #[Test]
public function itShouldUpdateParams(): void
{
$sut = new ValidationException('input', 'id', ['foo' => 1], $this->createFormatter());
@@ -179,9 +154,7 @@ final class ValidationExceptionTest extends TestCase
self::assertEquals('2', $sut->getMessage());
}
- /**
- * @test
- */
+ #[Test]
public function itShouldConvertToString(): void
{
$sut = new ValidationException('input', 'id', [], $this->createFormatter());
diff --git a/tests/unit/FactoryTest.php b/tests/unit/FactoryTest.php
index d798a383..d701fc1d 100644
--- a/tests/unit/FactoryTest.php
+++ b/tests/unit/FactoryTest.php
@@ -9,6 +9,9 @@ declare(strict_types=1);
namespace Respect\Validation;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Exceptions\InvalidClassException;
use Respect\Validation\Exceptions\ValidationException;
@@ -22,17 +25,14 @@ use Respect\Validation\Test\TestCase;
use function sprintf;
-/**
- * @covers \Respect\Validation\Factory
- */
+#[Group('core')]
+#[CoversClass(Factory::class)]
final class FactoryTest extends TestCase
{
private const TEST_RULES_NAMESPACE = 'Respect\\Validation\\Test\\Rules';
private const TEST_EXCEPTIONS_NAMESPACE = 'Respect\\Validation\\Test\\Exceptions';
- /**
- * @test
- */
+ #[Test]
public function shouldCreateRuleByNameBasedOnNamespace(): void
{
$factory = (new Factory())
@@ -41,9 +41,7 @@ final class FactoryTest extends TestCase
self::assertInstanceOf(Valid::class, $factory->rule('valid'));
}
- /**
- * @test
- */
+ #[Test]
public function shouldLookUpToAllNamespacesUntilRuleIsFound(): void
{
$factory = (new Factory())
@@ -53,9 +51,7 @@ final class FactoryTest extends TestCase
self::assertInstanceOf(Valid::class, $factory->rule('valid'));
}
- /**
- * @test
- */
+ #[Test]
public function shouldDefineConstructorArgumentsWhenCreatingRule(): void
{
$constructorArguments = [true, false, true, false];
@@ -67,9 +63,7 @@ final class FactoryTest extends TestCase
self::assertSame($constructorArguments, $rule->validations);
}
- /**
- * @test
- */
+ #[Test]
public function shouldThrowsAnExceptionWhenRuleIsInvalid(): void
{
$factory = (new Factory())->withRuleNamespace(self::TEST_RULES_NAMESPACE);
@@ -80,9 +74,7 @@ final class FactoryTest extends TestCase
$factory->rule('invalid');
}
- /**
- * @test
- */
+ #[Test]
public function shouldThrowsAnExceptionWhenRuleIsNotInstantiable(): void
{
$factory = (new Factory())->withRuleNamespace(self::TEST_RULES_NAMESPACE);
@@ -93,9 +85,7 @@ final class FactoryTest extends TestCase
$factory->rule('abstractClass');
}
- /**
- * @test
- */
+ #[Test]
public function shouldThrowsAnExceptionWhenRuleIsNotFound(): void
{
$factory = (new Factory())->withRuleNamespace(self::TEST_RULES_NAMESPACE);
@@ -106,9 +96,7 @@ final class FactoryTest extends TestCase
$factory->rule('notFoundRule');
}
- /**
- * @test
- */
+ #[Test]
public function shouldCreateExceptionBasedOnRule(): void
{
$factory = (new Factory())->withExceptionNamespace(self::TEST_EXCEPTIONS_NAMESPACE);
@@ -119,9 +107,7 @@ final class FactoryTest extends TestCase
self::assertInstanceOf(StubException::class, $factory->exception($rule, $input));
}
- /**
- * @test
- */
+ #[Test]
public function shouldLookUpToAllNamespacesUntilExceptionIsCreated(): void
{
$factory = (new Factory())
@@ -134,9 +120,7 @@ final class FactoryTest extends TestCase
self::assertInstanceOf(StubException::class, $factory->exception($rule, $input));
}
- /**
- * @test
- */
+ #[Test]
public function shouldCreateValidationExceptionWhenExceptionIsNotFound(): void
{
$factory = new Factory();
@@ -146,9 +130,7 @@ final class FactoryTest extends TestCase
self::assertInstanceOf(ValidationException::class, $factory->exception($rule, $input));
}
- /**
- * @test
- */
+ #[Test]
public function shouldSetInputAsParameterOfCreatedException(): void
{
$factory = (new Factory())->withExceptionNamespace(self::TEST_EXCEPTIONS_NAMESPACE);
@@ -161,9 +143,7 @@ final class FactoryTest extends TestCase
self::assertSame($input, $exception->getParam('input'));
}
- /**
- * @test
- */
+ #[Test]
public function shouldPassPropertiesToCreatedException(): void
{
$factory = (new Factory())->withExceptionNamespace(self::TEST_EXCEPTIONS_NAMESPACE);
@@ -177,9 +157,7 @@ final class FactoryTest extends TestCase
self::assertSame($validations, $exception->getParam('validations'));
}
- /**
- * @test
- */
+ #[Test]
public function shouldSetTemplateWhenTemplateKeyIsDefined(): void
{
$factory = (new Factory())->withExceptionNamespace(self::TEST_EXCEPTIONS_NAMESPACE);
@@ -197,17 +175,13 @@ final class FactoryTest extends TestCase
self::assertSame($extraParams['template'], $exception->getMessage());
}
- /**
- * @test
- */
+ #[Test]
public function shouldAlwaysReturnTheSameDefaultInstance(): void
{
self::assertSame(Factory::getDefaultInstance(), Factory::getDefaultInstance());
}
- /**
- * @test
- */
+ #[Test]
public function shouldBeAbleToOverwriteDefaultInstance(): void
{
$factory = new Factory();
@@ -221,9 +195,7 @@ final class FactoryTest extends TestCase
Factory::setDefaultInstance($defaultInstance);
}
- /**
- * @test
- */
+ #[Test]
public function shouldAutoResolveExceptionIfNamespacePatternMatchesAndExceptionClassFound(): void
{
$this->expectException(StubException::class);
@@ -232,9 +204,7 @@ final class FactoryTest extends TestCase
$rule->assert('test');
}
- /**
- * @test
- */
+ #[Test]
public function shouldUseDefaultExceptionIfCustomExceptionNotFound(): void
{
$this->expectException(ValidationException::class);
diff --git a/tests/unit/Helpers/CanValidateDateTimeTest.php b/tests/unit/Helpers/CanValidateDateTimeTest.php
index 1a034d79..9857e012 100644
--- a/tests/unit/Helpers/CanValidateDateTimeTest.php
+++ b/tests/unit/Helpers/CanValidateDateTimeTest.php
@@ -9,29 +9,27 @@ declare(strict_types=1);
namespace Respect\Validation\Helpers;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\TestCase;
-/**
- * @group helper
- * @covers \Respect\Validation\Helpers\CanValidateDateTime
- */
+#[Group('helper')]
+#[CoversClass(CanValidateDateTime::class)]
final class CanValidateDateTimeTest extends TestCase
{
use CanValidateDateTime;
- /**
- * @test
- * @dataProvider providerForValidDateTime
- */
+ #[Test]
+ #[DataProvider('providerForValidDateTime')]
public function shouldFindWhenValueIsDateTime(string $format, string $value): void
{
self::assertTrue($this->isDateTime($format, $value));
}
- /**
- * @test
- * @dataProvider providerForInvalidDateTime
- */
+ #[Test]
+ #[DataProvider('providerForInvalidDateTime')]
public function shouldFindWhenValueIsNotDateTime(string $format, string $value): void
{
self::assertFalse($this->isDateTime($format, $value));
diff --git a/tests/unit/Helpers/CanValidateUndefinedTest.php b/tests/unit/Helpers/CanValidateUndefinedTest.php
index fdacfb57..76bfee95 100644
--- a/tests/unit/Helpers/CanValidateUndefinedTest.php
+++ b/tests/unit/Helpers/CanValidateUndefinedTest.php
@@ -9,31 +9,29 @@ declare(strict_types=1);
namespace Respect\Validation\Helpers;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\DataProvider\UndefinedProvider;
use Respect\Validation\Test\TestCase;
-/**
- * @group helper
- * @covers \Respect\Validation\Helpers\CanValidateUndefined
- */
+#[Group('helper')]
+#[CoversClass(CanValidateUndefined::class)]
final class CanValidateUndefinedTest extends TestCase
{
use CanValidateUndefined;
use UndefinedProvider;
- /**
- * @test
- * @dataProvider providerForUndefined
- */
+ #[Test]
+ #[DataProvider('providerForUndefined')]
public function shouldFindWhenValueIsUndefined(mixed $value): void
{
self::assertTrue($this->isUndefined($value));
}
- /**
- * @test
- * @dataProvider providerForNotUndefined
- */
+ #[Test]
+ #[DataProvider('providerForNotUndefined')]
public function shouldFindWhenValueIsNotUndefined(mixed $value): void
{
self::assertFalse($this->isUndefined($value));
diff --git a/tests/unit/Rules/AbstractCompositeTest.php b/tests/unit/Rules/AbstractCompositeTest.php
index 0460e354..11a6d689 100644
--- a/tests/unit/Rules/AbstractCompositeTest.php
+++ b/tests/unit/Rules/AbstractCompositeTest.php
@@ -9,6 +9,9 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\Exceptions\CompositeStubException;
use Respect\Validation\Test\Rules\Stub;
use Respect\Validation\Test\Stubs\CompositeSub;
@@ -16,15 +19,11 @@ use Respect\Validation\Test\TestCase;
use function current;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractComposite
- */
+#[Group('rule')]
+#[CoversClass(AbstractComposite::class)]
final class AbstractCompositeTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function itShouldUpdateTheNameOfTheChildWhenUpdatingItsName(): void
{
$ruleName = 'something';
@@ -40,9 +39,7 @@ final class AbstractCompositeTest extends TestCase
self::assertSame($ruleName, $child->getName());
}
- /**
- * @test
- */
+ #[Test]
public function itShouldUpdateTheNameOfTheChildWhenAddingIt(): void
{
$ruleName = 'something';
@@ -59,9 +56,7 @@ final class AbstractCompositeTest extends TestCase
self::assertSame($ruleName, $rule->getName());
}
- /**
- * @test
- */
+ #[Test]
public function itShouldNotUpdateTheNameOfTheChildWhenUpdatingItsNameIfTheChildAlreadyHasSomeName(): void
{
$ruleName1 = 'something';
@@ -76,9 +71,7 @@ final class AbstractCompositeTest extends TestCase
self::assertSame($ruleName1, $rule->getName());
}
- /**
- * @test
- */
+ #[Test]
public function itNotShouldUpdateTheNameOfTheChildWhenAddingItIfTheChildAlreadyHasSomeName(): void
{
$ruleName1 = 'something';
@@ -94,9 +87,7 @@ final class AbstractCompositeTest extends TestCase
self::assertSame($ruleName1, $rule->getName());
}
- /**
- * @test
- */
+ #[Test]
public function itShouldReturnItsChildren(): void
{
$child1 = new Stub();
@@ -112,9 +103,7 @@ final class AbstractCompositeTest extends TestCase
self::assertSame($child3, $children[2]);
}
- /**
- * @test
- */
+ #[Test]
public function itShouldAssertWithAllChildrenAndNotThrowAnExceptionWhenThereAreNoIssues(): void
{
$input = 'something';
@@ -129,9 +118,7 @@ final class AbstractCompositeTest extends TestCase
$sut->assert($input);
}
- /**
- * @test
- */
+ #[Test]
public function itShouldAssertWithAllChildrenAndThrowAnExceptionWhenThereAreIssues(): void
{
$sut = new CompositeSub(new Stub(false), new Stub(false), new Stub(false));
@@ -143,9 +130,7 @@ final class AbstractCompositeTest extends TestCase
}
}
- /**
- * @test
- */
+ #[Test]
public function itShouldUpdateTheTemplateOfEveryChildrenWhenAsserting(): void
{
$template = 'This is my template';
@@ -166,9 +151,7 @@ final class AbstractCompositeTest extends TestCase
}
}
- /**
- * @test
- */
+ #[Test]
public function itShouldUpdateTheTemplateOfEveryTheChildrenOfSomeChildWhenAsserting(): void
{
$template = 'This is my template';
diff --git a/tests/unit/Rules/AbstractEnvelopeTest.php b/tests/unit/Rules/AbstractEnvelopeTest.php
index 0b590a72..22e1519b 100644
--- a/tests/unit/Rules/AbstractEnvelopeTest.php
+++ b/tests/unit/Rules/AbstractEnvelopeTest.php
@@ -9,20 +9,19 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\Rules\Envelop;
use Respect\Validation\Test\TestCase;
use function array_intersect_key;
-/**
- * @test core
- * @covers \Respect\Validation\Rules\AbstractEnvelope
- */
+#[Group('core')]
+#[CoversClass(AbstractEnvelope::class)]
final class AbstractEnvelopeTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function itShouldValidateUsingTheInnerRule(): void
{
$rule = new Envelop(new AlwaysValid(), []);
@@ -30,9 +29,7 @@ final class AbstractEnvelopeTest extends TestCase
self::assertTrue($rule->validate('something'));
}
- /**
- * @test
- */
+ #[Test]
public function itShouldInvalidateUsingTheInnerRule(): void
{
$rule = new Envelop(new AlwaysInvalid(), []);
@@ -40,9 +37,7 @@ final class AbstractEnvelopeTest extends TestCase
self::assertFalse($rule->validate('something'));
}
- /**
- * @test
- */
+ #[Test]
public function itShouldReportErrorUsingProperties(): void
{
$input = 'value';
diff --git a/tests/unit/Rules/AbstractRuleTest.php b/tests/unit/Rules/AbstractRuleTest.php
index 8599f455..fadd711c 100644
--- a/tests/unit/Rules/AbstractRuleTest.php
+++ b/tests/unit/Rules/AbstractRuleTest.php
@@ -9,21 +9,20 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ValidationException;
use Respect\Validation\Test\Rules\Stub;
use Respect\Validation\Test\TestCase;
use function random_int;
-/**
- * @covers \Respect\Validation\Rules\AbstractRule
- */
+#[Group('core')]
+#[CoversClass(AbstractRule::class)]
final class AbstractRuleTest extends TestCase
{
- /**
- * @covers \Respect\Validation\Rules\AbstractRule::__invoke
- * @test
- */
+ #[Test]
public function itShouldValidateSomeValidInputUsingTheInvokeMagicMethod(): void
{
$sut = new Stub(true);
@@ -31,10 +30,7 @@ final class AbstractRuleTest extends TestCase
self::assertTrue($sut('something'));
}
- /**
- * @covers \Respect\Validation\Rules\AbstractRule::__invoke
- * @test
- */
+ #[Test]
public function itShouldValidateSomeInvalidInputUsingTheInvokeMagicMethod(): void
{
$sut = new Stub(false);
@@ -42,10 +38,7 @@ final class AbstractRuleTest extends TestCase
self::assertFalse($sut('something'));
}
- /**
- * @covers \Respect\Validation\Rules\AbstractRule::assert
- * @test
- */
+ #[Test]
public function itShouldThrowAnExceptionOnAssertingSomeInvalidInput(): void
{
$input = 'something';
@@ -57,10 +50,7 @@ final class AbstractRuleTest extends TestCase
$sut->assert($input);
}
- /**
- * @covers \Respect\Validation\Rules\AbstractRule::assert
- * @test
- */
+ #[Test]
public function itShouldNotThrowAnExceptionOnAssertingSomeValidInput(): void
{
$input = 'something';
@@ -72,10 +62,7 @@ final class AbstractRuleTest extends TestCase
$sut->assert($input);
}
- /**
- * @covers \Respect\Validation\Rules\AbstractRule::check
- * @test
- */
+ #[Test]
public function itShouldThrowAnExceptionOnCheckingSomeInvalidInput(): void
{
$input = 'something';
@@ -87,10 +74,7 @@ final class AbstractRuleTest extends TestCase
$sut->check($input);
}
- /**
- * @covers \Respect\Validation\Rules\AbstractRule::check
- * @test
- */
+ #[Test]
public function itShouldNotThrowAnExceptionOnCheckingSomeValidInput(): void
{
$input = 'something';
@@ -102,10 +86,7 @@ final class AbstractRuleTest extends TestCase
$sut->check($input);
}
- /**
- * @covers \Respect\Validation\Rules\AbstractRule::setTemplate
- * @test
- */
+ #[Test]
public function itShouldReturnSelfWhenSettingSomeTemplate(): void
{
$sut = new Stub();
@@ -113,10 +94,7 @@ final class AbstractRuleTest extends TestCase
self::assertSame($sut, $sut->setTemplate('whatever'));
}
- /**
- * @covers \Respect\Validation\Rules\AbstractRule::setName
- * @test
- */
+ #[Test]
public function itShouldReturnSelfWhenSettingSomeName(): void
{
$sut = new Stub();
@@ -124,10 +102,7 @@ final class AbstractRuleTest extends TestCase
self::assertSame($sut, $sut->setName('whatever'));
}
- /**
- * @covers \Respect\Validation\Rules\AbstractRule::getName
- * @test
- */
+ #[Test]
public function itShouldBeAbleToRetrieveItsName(): void
{
$name = 'something';
@@ -138,10 +113,7 @@ final class AbstractRuleTest extends TestCase
self::assertSame($name, $sut->getName());
}
- /**
- * @covers \Respect\Validation\Rules\AbstractRule::getName
- * @test
- */
+ #[Test]
public function itShouldReportErrorWithExtraParameters(): void
{
$extraParameterName = 'foo';
diff --git a/tests/unit/Rules/AbstractSearcherTest.php b/tests/unit/Rules/AbstractSearcherTest.php
index 80c8fcc0..38ec39a1 100644
--- a/tests/unit/Rules/AbstractSearcherTest.php
+++ b/tests/unit/Rules/AbstractSearcherTest.php
@@ -9,21 +9,21 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\DataProvider\UndefinedProvider;
use Respect\Validation\Test\Rules\SearcherStub;
use Respect\Validation\Test\TestCase;
-/**
- * @group core
- * @covers \Respect\Validation\Rules\AbstractSearcher
- */
+#[Group('core')]
+#[CoversClass(AbstractSearcher::class)]
final class AbstractSearcherTest extends TestCase
{
use UndefinedProvider;
- /**
- * @test
- */
+ #[Test]
public function shouldValidateFromDataSource(): void
{
$input = 'BAZ';
@@ -33,9 +33,7 @@ final class AbstractSearcherTest extends TestCase
self::assertTrue($rule->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function shouldNotFindWhenNotIdentical(): void
{
$input = 2.0;
@@ -45,10 +43,8 @@ final class AbstractSearcherTest extends TestCase
self::assertFalse($rule->validate($input));
}
- /**
- * @test
- * @dataProvider providerForUndefined
- */
+ #[Test]
+ #[DataProvider('providerForUndefined')]
public function shouldValidateWhenValueIsUndefinedAndDataSourceIsEmpty(mixed $input): void
{
$rule = new SearcherStub(static fn() => []);
@@ -56,10 +52,8 @@ final class AbstractSearcherTest extends TestCase
self::assertTrue($rule->validate($input));
}
- /**
- * @test
- * @dataProvider providerForNotUndefined
- */
+ #[Test]
+ #[DataProvider('providerForNotUndefined')]
public function shouldNotValidateWhenValueIsNotUndefinedAndDataSourceNotEmpty(mixed $input): void
{
$rule = new SearcherStub(static fn() => []);
diff --git a/tests/unit/Rules/AbstractWrapperTest.php b/tests/unit/Rules/AbstractWrapperTest.php
index 5101be7a..60936958 100644
--- a/tests/unit/Rules/AbstractWrapperTest.php
+++ b/tests/unit/Rules/AbstractWrapperTest.php
@@ -9,20 +9,19 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ValidationException;
use Respect\Validation\Test\Rules\Stub;
use Respect\Validation\Test\Rules\WrapperStub;
use Respect\Validation\Test\TestCase;
-/**
- * @test core
- * @covers \Respect\Validation\Rules\AbstractWrapper
- */
+#[Group('core')]
+#[CoversClass(AbstractWrapper::class)]
final class AbstractWrapperTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function shouldUseWrappedToValidate(): void
{
$sut = new WrapperStub(new Stub(true));
@@ -30,9 +29,7 @@ final class AbstractWrapperTest extends TestCase
self::assertTrue($sut->validate('Whatever'));
}
- /**
- * @test
- */
+ #[Test]
public function shouldUseWrappedToAssert(): void
{
$sut = new WrapperStub(new Stub(false));
@@ -40,9 +37,7 @@ final class AbstractWrapperTest extends TestCase
$sut->assert('Whatever');
}
- /**
- * @test
- */
+ #[Test]
public function shouldUseWrappedToCheck(): void
{
$sut = new WrapperStub(new Stub(false));
@@ -50,9 +45,7 @@ final class AbstractWrapperTest extends TestCase
$sut->check('Whatever');
}
- /**
- * @test
- */
+ #[Test]
public function shouldPassNameOnToWrapped(): void
{
$name = 'Whatever';
diff --git a/tests/unit/Rules/AllOfTest.php b/tests/unit/Rules/AllOfTest.php
index 45d3f147..3bae7cd2 100644
--- a/tests/unit/Rules/AllOfTest.php
+++ b/tests/unit/Rules/AllOfTest.php
@@ -9,22 +9,22 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\AllOfException;
use Respect\Validation\Exceptions\CallbackException;
use Respect\Validation\Exceptions\ValidationException;
use Respect\Validation\Test\TestCase;
use Respect\Validation\Validatable;
-/**
- * @group rule
- * @covers \Respect\Validation\Exceptions\AllOfException
- * @covers \Respect\Validation\Rules\AllOf
- */
+#[Group('rule')]
+#[CoversClass(AllOfException::class)]
+#[CoversClass(AllOf::class)]
final class AllOfTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function validationShouldWorkIfAllRulesReturnTrue(): void
{
$valid1 = new Callback(static function () {
@@ -45,10 +45,8 @@ final class AllOfTest extends TestCase
$o->assert('');
}
- /**
- * @dataProvider providerStaticDummyRules
- * @test
- */
+ #[Test]
+ #[DataProvider('providerStaticDummyRules')]
public function validationAssertShouldFailIfAnyRuleFailsAndReturnAllExceptionsFailed(
Validatable $rule1,
Validatable $rule2,
@@ -61,10 +59,8 @@ final class AllOfTest extends TestCase
$o->assert('any');
}
- /**
- * @dataProvider providerStaticDummyRules
- * @test
- */
+ #[Test]
+ #[DataProvider('providerStaticDummyRules')]
public function validationCheckShouldFailIfAnyRuleFailsAndThrowTheFirstExceptionOnly(
Validatable $rule1,
Validatable $rule2,
@@ -77,11 +73,8 @@ final class AllOfTest extends TestCase
$o->check('any');
}
- /**
- * @dataProvider providerStaticDummyRules
- * @expectedException \Respect\Validation\Exceptions\
- * @test
- */
+ #[Test]
+ #[DataProvider('providerStaticDummyRules')]
public function validationCheckShouldFailOnEmptyInput(
Validatable $rule1,
Validatable $rule2,
@@ -93,10 +86,8 @@ final class AllOfTest extends TestCase
$o->check('');
}
- /**
- * @dataProvider providerStaticDummyRules
- * @test
- */
+ #[Test]
+ #[DataProvider('providerStaticDummyRules')]
public function validationShouldFailIfAnyRuleFails(
Validatable $rule1,
Validatable $rule2,
diff --git a/tests/unit/Rules/AlnumTest.php b/tests/unit/Rules/AlnumTest.php
index da3d4ba5..a0524006 100644
--- a/tests/unit/Rules/AlnumTest.php
+++ b/tests/unit/Rules/AlnumTest.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractFilterRule
- * @covers \Respect\Validation\Rules\Alnum
- */
+#[Group('rule')]
+#[CoversClass(AbstractFilterRule::class)]
+#[CoversClass(Alnum::class)]
final class AlnumTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/AlphaTest.php b/tests/unit/Rules/AlphaTest.php
index 7422c545..cb37a7f4 100644
--- a/tests/unit/Rules/AlphaTest.php
+++ b/tests/unit/Rules/AlphaTest.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractFilterRule
- * @covers \Respect\Validation\Rules\Alpha
- */
+#[Group('rule')]
+#[CoversClass(AbstractFilterRule::class)]
+#[CoversClass(Alpha::class)]
final class AlphaTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/AlwaysInvalidTest.php b/tests/unit/Rules/AlwaysInvalidTest.php
index d703ac3a..819b97b5 100644
--- a/tests/unit/Rules/AlwaysInvalidTest.php
+++ b/tests/unit/Rules/AlwaysInvalidTest.php
@@ -9,18 +9,18 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\TestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AlwaysInvalid
- */
+#[Group('rule')]
+#[CoversClass(AlwaysInvalid::class)]
final class AlwaysInvalidTest extends TestCase
{
- /**
- * @test
- * @dataProvider providerForInvalidInput
- */
+ #[Test]
+ #[DataProvider('providerForInvalidInput')]
public function itShouldAlwaysBeInvalid(mixed $input): void
{
$rule = new AlwaysInvalid();
diff --git a/tests/unit/Rules/AlwaysValidTest.php b/tests/unit/Rules/AlwaysValidTest.php
index 3e67fd6a..da385fe7 100644
--- a/tests/unit/Rules/AlwaysValidTest.php
+++ b/tests/unit/Rules/AlwaysValidTest.php
@@ -9,18 +9,18 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\TestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AlwaysValid
- */
+#[Group(' rule')]
+#[CoversClass(AlwaysValid::class)]
final class AlwaysValidTest extends TestCase
{
- /**
- * @test
- * @dataProvider providerForValidInput
- */
+ #[Test]
+ #[DataProvider('providerForValidInput')]
public function itAlwaysBeValid(mixed $input): void
{
$rule = new AlwaysValid();
diff --git a/tests/unit/Rules/AnyOfTest.php b/tests/unit/Rules/AnyOfTest.php
index f01c6ae5..c891d910 100644
--- a/tests/unit/Rules/AnyOfTest.php
+++ b/tests/unit/Rules/AnyOfTest.php
@@ -9,20 +9,19 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\AnyOfException;
use Respect\Validation\Exceptions\XdigitException;
use Respect\Validation\Test\TestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Exceptions\AnyOfException
- * @covers \Respect\Validation\Rules\AnyOf
- */
+#[Group('rule')]
+#[CoversClass(AnyOfException::class)]
+#[CoversClass(AnyOf::class)]
final class AnyOfTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function valid(): void
{
$valid1 = new Callback(static function () {
@@ -40,9 +39,7 @@ final class AnyOfTest extends TestCase
$o->check('any');
}
- /**
- * @test
- */
+ #[Test]
public function invalid(): void
{
$valid1 = new Callback(static function () {
@@ -61,9 +58,7 @@ final class AnyOfTest extends TestCase
$o->assert('any');
}
- /**
- * @test
- */
+ #[Test]
public function invalidCheck(): void
{
$o = new AnyOf(new Xdigit(), new Alnum());
diff --git a/tests/unit/Rules/ArrayTypeTest.php b/tests/unit/Rules/ArrayTypeTest.php
index eebdbd58..43c97667 100644
--- a/tests/unit/Rules/ArrayTypeTest.php
+++ b/tests/unit/Rules/ArrayTypeTest.php
@@ -11,12 +11,12 @@ namespace Respect\Validation\Rules;
use ArrayIterator;
use ArrayObject;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\ArrayType
- */
+#[Group(' rule')]
+#[CoversClass(ArrayType::class)]
final class ArrayTypeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/ArrayValTest.php b/tests/unit/Rules/ArrayValTest.php
index 6a33e89a..34276cb4 100644
--- a/tests/unit/Rules/ArrayValTest.php
+++ b/tests/unit/Rules/ArrayValTest.php
@@ -10,14 +10,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
use ArrayObject;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use SimpleXMLElement;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\ArrayVal
- */
+#[Group(' rule')]
+#[CoversClass(ArrayVal::class)]
final class ArrayValTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/AttributeTest.php b/tests/unit/Rules/AttributeTest.php
index 319a26d2..b5bc0ba6 100644
--- a/tests/unit/Rules/AttributeTest.php
+++ b/tests/unit/Rules/AttributeTest.php
@@ -9,15 +9,15 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\WithProperties;
use Respect\Validation\Test\Stubs\WithUninitialized;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractRelated
- * @covers \Respect\Validation\Rules\Attribute
- */
+#[Group('rule')]
+#[CoversClass(AbstractRelated::class)]
+#[CoversClass(Attribute::class)]
final class AttributeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/Base64Test.php b/tests/unit/Rules/Base64Test.php
index 740c16dc..49823e40 100644
--- a/tests/unit/Rules/Base64Test.php
+++ b/tests/unit/Rules/Base64Test.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use function implode;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Base64
- */
+#[Group('rule')]
+#[CoversClass(Base64::class)]
final class Base64Test extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/BaseTest.php b/tests/unit/Rules/BaseTest.php
index 312b8a0f..1af5c121 100644
--- a/tests/unit/Rules/BaseTest.php
+++ b/tests/unit/Rules/BaseTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Base
- */
+#[Group('rule')]
+#[CoversClass(Base::class)]
final class BaseTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/BetweenTest.php b/tests/unit/Rules/BetweenTest.php
index 6c20c128..45c61b31 100644
--- a/tests/unit/Rules/BetweenTest.php
+++ b/tests/unit/Rules/BetweenTest.php
@@ -10,20 +10,19 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
use DateTime;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\CountableStub;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractEnvelope
- * @covers \Respect\Validation\Rules\Between
- */
+#[Group('rule')]
+#[CoversClass(AbstractEnvelope::class)]
+#[CoversClass(Between::class)]
final class BetweenTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function minimumValueShouldNotBeGreaterThanMaximumValue(): void
{
$this->expectExceptionObject(new ComponentException('Minimum cannot be less than or equals to maximum'));
@@ -31,9 +30,7 @@ final class BetweenTest extends RuleTestCase
new Between(10, 5);
}
- /**
- * @test
- */
+ #[Test]
public function minimumValueShouldNotBeEqualsToMaximumValue(): void
{
$this->expectExceptionObject(new ComponentException('Minimum cannot be less than or equals to maximum'));
diff --git a/tests/unit/Rules/BoolTypeTest.php b/tests/unit/Rules/BoolTypeTest.php
index 72aa4f0a..7a42911b 100644
--- a/tests/unit/Rules/BoolTypeTest.php
+++ b/tests/unit/Rules/BoolTypeTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\BoolType
- */
+#[Group('rule')]
+#[CoversClass(BoolType::class)]
final class BoolTypeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/BoolValTest.php b/tests/unit/Rules/BoolValTest.php
index 5e2db501..195fd765 100644
--- a/tests/unit/Rules/BoolValTest.php
+++ b/tests/unit/Rules/BoolValTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\BoolVal
- */
+#[Group('rule')]
+#[CoversClass(BoolVal::class)]
final class BoolValTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/BsnTest.php b/tests/unit/Rules/BsnTest.php
index 52732f80..2151055c 100644
--- a/tests/unit/Rules/BsnTest.php
+++ b/tests/unit/Rules/BsnTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Bsn
- */
+#[Group('rule')]
+#[CoversClass(Bsn::class)]
final class BsnTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/CallTest.php b/tests/unit/Rules/CallTest.php
index af050ef6..20c307da 100644
--- a/tests/unit/Rules/CallTest.php
+++ b/tests/unit/Rules/CallTest.php
@@ -11,6 +11,9 @@ namespace Respect\Validation\Rules;
use ErrorException;
use Exception;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\AlwaysInvalidException;
use Respect\Validation\Exceptions\CallException;
use Respect\Validation\Test\TestCase;
@@ -20,17 +23,13 @@ use function restore_error_handler;
use function set_error_handler;
use function trigger_error;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Call
- */
+#[Group('rule')]
+#[CoversClass(Call::class)]
final class CallTest extends TestCase
{
private readonly ErrorException $errorException;
- /**
- * @test
- */
+ #[Test]
public function assertShouldExecuteCallable(): void
{
$input = ' input ';
@@ -46,9 +45,7 @@ final class CallTest extends TestCase
$sut->assert($input);
}
- /**
- * @test
- */
+ #[Test]
public function assertShouldThrowCallExceptionWhenPhpTriggersAnError(): void
{
$input = [];
@@ -65,9 +62,7 @@ final class CallTest extends TestCase
$sut->assert($input);
}
- /**
- * @test
- */
+ #[Test]
public function assertShouldRestorePreviousPhpErrorHandler(): void
{
$callable = 'trim';
@@ -85,9 +80,7 @@ final class CallTest extends TestCase
trigger_error('Forcing PHP to trigger an error');
}
- /**
- * @test
- */
+ #[Test]
public function assertShouldThrowCallExceptionWhenCallableThrowsAnException(): void
{
$input = [];
@@ -106,9 +99,7 @@ final class CallTest extends TestCase
$sut->assert($input);
}
- /**
- * @test
- */
+ #[Test]
public function assertShouldThrowExceptionOfTheDefinedRule(): void
{
$input = 'something';
@@ -122,9 +113,7 @@ final class CallTest extends TestCase
$sut->assert($input);
}
- /**
- * @test
- */
+ #[Test]
public function checkShouldExecuteCallable(): void
{
$input = ' input ';
@@ -140,9 +129,7 @@ final class CallTest extends TestCase
$sut->check($input);
}
- /**
- * @test
- */
+ #[Test]
public function checkShouldThrowCallExceptionWhenPhpTriggersAnError(): void
{
$input = [];
@@ -159,9 +146,7 @@ final class CallTest extends TestCase
$sut->assert($input);
}
- /**
- * @test
- */
+ #[Test]
public function checkShouldRestorePreviousPhpErrorHandler(): void
{
$callable = 'trim';
@@ -179,9 +164,7 @@ final class CallTest extends TestCase
trigger_error('Forcing PHP to trigger an error');
}
- /**
- * @test
- */
+ #[Test]
public function checkShouldThrowCallExceptionWhenCallableThrowsAnException(): void
{
$input = [];
@@ -200,9 +183,7 @@ final class CallTest extends TestCase
$sut->assert($input);
}
- /**
- * @test
- */
+ #[Test]
public function checkShouldThrowExceptionOfTheDefinedRule(): void
{
$rule = new AlwaysInvalid();
@@ -213,9 +194,7 @@ final class CallTest extends TestCase
$sut->check('something');
}
- /**
- * @test
- */
+ #[Test]
public function validateShouldExecuteCallable(): void
{
$input = ' input ';
@@ -232,9 +211,7 @@ final class CallTest extends TestCase
self::assertTrue($sut->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function validateShouldReturnFalseWhenPhpTriggersAnError(): void
{
$input = [];
@@ -250,9 +227,7 @@ final class CallTest extends TestCase
self::assertFalse($sut->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function validateShouldReturnFalseWhenDefinedRuleFails(): void
{
$sut = new Call('trim', new AlwaysInvalid());
@@ -260,9 +235,7 @@ final class CallTest extends TestCase
self::assertFalse($sut->validate('something'));
}
- /**
- * @test
- */
+ #[Test]
public function validateShouldRestorePreviousPhpErrorHandler(): void
{
$callable = 'trim';
diff --git a/tests/unit/Rules/CallableTypeTest.php b/tests/unit/Rules/CallableTypeTest.php
index a891b333..65d79e40 100644
--- a/tests/unit/Rules/CallableTypeTest.php
+++ b/tests/unit/Rules/CallableTypeTest.php
@@ -9,16 +9,16 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\WithMethods;
use stdClass;
use const INF;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\CallableType
- */
+#[Group('rule')]
+#[CoversClass(CallableType::class)]
final class CallableTypeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/CallbackTest.php b/tests/unit/Rules/CallbackTest.php
index 51fe0e91..18416a5e 100644
--- a/tests/unit/Rules/CallbackTest.php
+++ b/tests/unit/Rules/CallbackTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Callback
- */
+#[Group('rule')]
+#[CoversClass(Callback::class)]
final class CallbackTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/CharsetTest.php b/tests/unit/Rules/CharsetTest.php
index 802b69d9..a9b8aed9 100644
--- a/tests/unit/Rules/CharsetTest.php
+++ b/tests/unit/Rules/CharsetTest.php
@@ -9,20 +9,19 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
use function mb_convert_encoding;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Charset
- */
+#[Group('rule')]
+#[CoversClass(Charset::class)]
final class CharsetTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function itShouldThrowsExceptionWhenCharsetIsNotValid(): void
{
$this->expectException(ComponentException::class);
diff --git a/tests/unit/Rules/CnhTest.php b/tests/unit/Rules/CnhTest.php
index cd3384a2..f0e1ee5e 100644
--- a/tests/unit/Rules/CnhTest.php
+++ b/tests/unit/Rules/CnhTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Cnh
- */
+#[Group('rule')]
+#[CoversClass(Cnh::class)]
final class CnhTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/CnpjTest.php b/tests/unit/Rules/CnpjTest.php
index ed130c06..7b9f668e 100644
--- a/tests/unit/Rules/CnpjTest.php
+++ b/tests/unit/Rules/CnpjTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Cnpj
- */
+#[Group('rule')]
+#[CoversClass(Cnpj::class)]
final class CnpjTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/ConsonantTest.php b/tests/unit/Rules/ConsonantTest.php
index 07e56607..d95f66a4 100644
--- a/tests/unit/Rules/ConsonantTest.php
+++ b/tests/unit/Rules/ConsonantTest.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractFilterRule
- * @covers \Respect\Validation\Rules\Consonant
- */
+#[Group('rule')]
+#[CoversClass(AbstractFilterRule::class)]
+#[CoversClass(Consonant::class)]
final class ConsonantTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/ContainsAnyTest.php b/tests/unit/Rules/ContainsAnyTest.php
index a17657f5..4915a1c6 100644
--- a/tests/unit/Rules/ContainsAnyTest.php
+++ b/tests/unit/Rules/ContainsAnyTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\ContainsAny
- */
+#[Group('rule')]
+#[CoversClass(ContainsAny::class)]
final class ContainsAnyTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/ContainsTest.php b/tests/unit/Rules/ContainsTest.php
index d6b4b6dc..8f21b5a7 100644
--- a/tests/unit/Rules/ContainsTest.php
+++ b/tests/unit/Rules/ContainsTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Contains
- */
+#[Group('rule')]
+#[CoversClass(Contains::class)]
final class ContainsTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/ControlTest.php b/tests/unit/Rules/ControlTest.php
index 5a6b78e4..da4969be 100644
--- a/tests/unit/Rules/ControlTest.php
+++ b/tests/unit/Rules/ControlTest.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractFilterRule
- * @covers \Respect\Validation\Rules\Control
- */
+#[Group('rule')]
+#[CoversClass(AbstractFilterRule::class)]
+#[CoversClass(Control::class)]
final class ControlTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/CountableTest.php b/tests/unit/Rules/CountableTest.php
index 4dd55bef..6276274e 100644
--- a/tests/unit/Rules/CountableTest.php
+++ b/tests/unit/Rules/CountableTest.php
@@ -11,15 +11,15 @@ namespace Respect\Validation\Rules;
use ArrayIterator;
use ArrayObject;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
use const PHP_INT_MAX;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Countable
- */
+#[Group('rule')]
+#[CoversClass(Countable::class)]
final class CountableTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/CountryCodeTest.php b/tests/unit/Rules/CountryCodeTest.php
index 3b84d37a..4cc9c5f6 100644
--- a/tests/unit/Rules/CountryCodeTest.php
+++ b/tests/unit/Rules/CountryCodeTest.php
@@ -9,18 +9,17 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\CountryCode
- */
+#[Group('rule')]
+#[CoversClass(CountryCode::class)]
final class CountryCodeTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function itShouldThrowsExceptionWhenInvalidFormat(): void
{
$this->expectException(ComponentException::class);
diff --git a/tests/unit/Rules/CpfTest.php b/tests/unit/Rules/CpfTest.php
index 5891c4b3..342f5eeb 100644
--- a/tests/unit/Rules/CpfTest.php
+++ b/tests/unit/Rules/CpfTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Cpf
- */
+#[Group('rule')]
+#[CoversClass(Cpf::class)]
final class CpfTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/CreditCardTest.php b/tests/unit/Rules/CreditCardTest.php
index 6b3421fb..5440cf10 100644
--- a/tests/unit/Rules/CreditCardTest.php
+++ b/tests/unit/Rules/CreditCardTest.php
@@ -9,18 +9,17 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\CreditCard
- */
+#[Group('rule')]
+#[CoversClass(CreditCard::class)]
final class CreditCardTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function itShouldThrowExceptionWhenCreditCardBrandIsNotValid(): void
{
$message = '"RespectCard" is not a valid credit card brand';
diff --git a/tests/unit/Rules/CurrencyCodeTest.php b/tests/unit/Rules/CurrencyCodeTest.php
index 9cab0fee..38fcdef3 100644
--- a/tests/unit/Rules/CurrencyCodeTest.php
+++ b/tests/unit/Rules/CurrencyCodeTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\CurrencyCode
- */
+#[Group('rule')]
+#[CoversClass(CurrencyCode::class)]
final class CurrencyCodeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/DateTest.php b/tests/unit/Rules/DateTest.php
index 5e46b1a1..f035190a 100644
--- a/tests/unit/Rules/DateTest.php
+++ b/tests/unit/Rules/DateTest.php
@@ -11,19 +11,19 @@ namespace Respect\Validation\Rules;
use DateTime;
use DateTimeImmutable;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Date
- */
+#[Group('rule')]
+#[CoversClass(Date::class)]
final class DateTest extends RuleTestCase
{
- /**
- * @test
- * @dataProvider validFormatsProvider
- */
+ #[Test]
+ #[DataProvider('validFormatsProvider')]
public function shouldThrowAnExceptionWhenFormatIsNotValid(string $format): void
{
$this->expectException(ComponentException::class);
@@ -31,9 +31,7 @@ final class DateTest extends RuleTestCase
new Date($format);
}
- /**
- * @test
- */
+ #[Test]
public function shouldPassFormatToParameterToException(): void
{
$format = 'F jS, Y';
diff --git a/tests/unit/Rules/DateTimeTest.php b/tests/unit/Rules/DateTimeTest.php
index 013a893b..8e4e65e8 100644
--- a/tests/unit/Rules/DateTimeTest.php
+++ b/tests/unit/Rules/DateTimeTest.php
@@ -11,20 +11,20 @@ namespace Respect\Validation\Rules;
use DateTime as DateTimeMutable;
use DateTimeImmutable;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\RuleTestCase;
use function date_default_timezone_get;
use function date_default_timezone_set;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\DateTime
- */
+#[Group('rule')]
+#[CoversClass(DateTime::class)]
final class DateTimeTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function shouldPassFormatToParameterToException(): void
{
$format = 'F jS, Y';
@@ -34,10 +34,8 @@ final class DateTimeTest extends RuleTestCase
self::assertSame($format, $exception->getParam('format'));
}
- /**
- * @test
- * @dataProvider providerForDateTimeWithTimezone
- */
+ #[Test]
+ #[DataProvider('providerForDateTimeWithTimezone')]
public function shouldValidateNoMatterTimezone(string $format, string $input, string $timezone): void
{
$currentTimezone = date_default_timezone_get();
diff --git a/tests/unit/Rules/DecimalTest.php b/tests/unit/Rules/DecimalTest.php
index ddc667f9..aa8a1df7 100644
--- a/tests/unit/Rules/DecimalTest.php
+++ b/tests/unit/Rules/DecimalTest.php
@@ -9,6 +9,8 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
@@ -17,10 +19,8 @@ use function sqrt;
use const NAN;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Decimal
- */
+#[Group('rule')]
+#[CoversClass(Decimal::class)]
final class DecimalTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/DigitTest.php b/tests/unit/Rules/DigitTest.php
index 835baeff..9604547b 100644
--- a/tests/unit/Rules/DigitTest.php
+++ b/tests/unit/Rules/DigitTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractFilterRule
- * @covers \Respect\Validation\Rules\Digit
- */
+#[Group('rule')]
+#[CoversClass(AbstractFilterRule::class)]
+#[CoversClass(Digit::class)]
final class DigitTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/DirectoryTest.php b/tests/unit/Rules/DirectoryTest.php
index d42b691e..1ecfe0a7 100644
--- a/tests/unit/Rules/DirectoryTest.php
+++ b/tests/unit/Rules/DirectoryTest.php
@@ -9,6 +9,8 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use SplFileInfo;
use SplFileObject;
@@ -16,10 +18,8 @@ use stdClass;
use function dir;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Directory
- */
+#[Group('rule')]
+#[CoversClass(Directory::class)]
final class DirectoryTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/DomainTest.php b/tests/unit/Rules/DomainTest.php
index 920f9ed2..d191ea10 100644
--- a/tests/unit/Rules/DomainTest.php
+++ b/tests/unit/Rules/DomainTest.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\ToStringStub;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Domain
- */
+#[Group('rule')]
+#[CoversClass(Domain::class)]
final class DomainTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/EachTest.php b/tests/unit/Rules/EachTest.php
index 14800096..8f1f7242 100644
--- a/tests/unit/Rules/EachTest.php
+++ b/tests/unit/Rules/EachTest.php
@@ -9,6 +9,9 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\NestedValidationException;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Validatable;
@@ -18,45 +21,35 @@ use Traversable;
use function range;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Each
- */
+#[Group('rule')]
+#[CoversClass(Each::class)]
final class EachTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function itShouldAssertEachValue(): void
{
$validatable = $this->createMock(Validatable::class);
$validatable
->expects(self::exactly(3))
- ->method('assert')
- ->will($this->onConsecutiveCalls([1], [2], [3]));
+ ->method('assert');
$rule = new Each($validatable);
$rule->assert(range(1, 3));
}
- /**
- * @test
- */
+ #[Test]
public function itShouldCheckEachValue(): void
{
$validatable = $this->createMock(Validatable::class);
$validatable
->expects(self::exactly(3))
- ->method('check')
- ->will($this->onConsecutiveCalls([1], [2], [3]));
+ ->method('check');
$rule = new Each($validatable);
$rule->check(range(1, 3));
}
- /**
- * @test
- */
+ #[Test]
public function itShouldNotOverrideMessages(): void
{
$rule = new Each(new StringType());
diff --git a/tests/unit/Rules/EmailTest.php b/tests/unit/Rules/EmailTest.php
index 798d00b8..df517aeb 100644
--- a/tests/unit/Rules/EmailTest.php
+++ b/tests/unit/Rules/EmailTest.php
@@ -11,20 +11,19 @@ namespace Respect\Validation\Rules;
use Egulias\EmailValidator\EmailValidator;
use Egulias\EmailValidator\Validation\RFCValidation;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
use function tmpfile;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Email
- */
+#[Group(' rule')]
+#[CoversClass(Email::class)]
final class EmailTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function shouldUseEmailValidatorToValidate(): void
{
$input = 'example@example.com';
@@ -36,7 +35,7 @@ final class EmailTest extends RuleTestCase
->expects(self::once())
->method('isValid')
->with($input, self::isInstanceOf(RFCValidation::class))
- ->will(self::returnValue(true));
+ ->willReturn(true);
$sut = new Email($emailValidator);
diff --git a/tests/unit/Rules/EndsWithTest.php b/tests/unit/Rules/EndsWithTest.php
index 0858fa0a..aaeb078a 100644
--- a/tests/unit/Rules/EndsWithTest.php
+++ b/tests/unit/Rules/EndsWithTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\EndsWith
- */
+#[Group('rule')]
+#[CoversClass(EndsWith::class)]
final class EndsWithTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/EqualsTest.php b/tests/unit/Rules/EqualsTest.php
index 67252dd7..a0ee6cd0 100644
--- a/tests/unit/Rules/EqualsTest.php
+++ b/tests/unit/Rules/EqualsTest.php
@@ -9,18 +9,17 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Equals
- */
+#[Group('rule')]
+#[CoversClass(Equals::class)]
final class EqualsTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function shouldPassCompareToParameterToException(): void
{
$compareTo = new stdClass();
diff --git a/tests/unit/Rules/EquivalentTest.php b/tests/unit/Rules/EquivalentTest.php
index b042f328..cbf4faa5 100644
--- a/tests/unit/Rules/EquivalentTest.php
+++ b/tests/unit/Rules/EquivalentTest.php
@@ -10,12 +10,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
use ArrayObject;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Equivalent
- */
+#[Group('rule')]
+#[CoversClass(Equivalent::class)]
final class EquivalentTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/EvenTest.php b/tests/unit/Rules/EvenTest.php
index 60515e06..83d0c705 100644
--- a/tests/unit/Rules/EvenTest.php
+++ b/tests/unit/Rules/EvenTest.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use const INF;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Even
- */
+#[Group('rule')]
+#[CoversClass(Even::class)]
final class EvenTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/ExecutableTest.php b/tests/unit/Rules/ExecutableTest.php
index 71b56e9b..97e0e847 100644
--- a/tests/unit/Rules/ExecutableTest.php
+++ b/tests/unit/Rules/ExecutableTest.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use SplFileInfo;
use SplFileObject;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Executable
- */
+#[Group('rule')]
+#[CoversClass(Executable::class)]
final class ExecutableTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/ExistsTest.php b/tests/unit/Rules/ExistsTest.php
index e01bb2de..8083a0e1 100644
--- a/tests/unit/Rules/ExistsTest.php
+++ b/tests/unit/Rules/ExistsTest.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use SplFileInfo;
use SplFileObject;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Exists
- */
+#[Group('rule')]
+#[CoversClass(Exists::class)]
final class ExistsTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/ExtensionTest.php b/tests/unit/Rules/ExtensionTest.php
index 4823c2db..adb802de 100644
--- a/tests/unit/Rules/ExtensionTest.php
+++ b/tests/unit/Rules/ExtensionTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use SplFileInfo;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Extension
- */
+#[Group('rule')]
+#[CoversClass(Extension::class)]
final class ExtensionTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/FactorTest.php b/tests/unit/Rules/FactorTest.php
index bfb6d271..e53ccb5b 100644
--- a/tests/unit/Rules/FactorTest.php
+++ b/tests/unit/Rules/FactorTest.php
@@ -10,6 +10,8 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
use DateTime;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
@@ -19,10 +21,8 @@ use function uniqid;
use const PHP_INT_MAX;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Factor
- */
+#[Group('rule')]
+#[CoversClass(Factor::class)]
final class FactorTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/FalseValTest.php b/tests/unit/Rules/FalseValTest.php
index 54469439..c7d6ef2f 100644
--- a/tests/unit/Rules/FalseValTest.php
+++ b/tests/unit/Rules/FalseValTest.php
@@ -9,6 +9,8 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
@@ -16,10 +18,8 @@ use function random_int;
use const PHP_INT_MAX;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\FalseVal
- */
+#[Group('rule')]
+#[CoversClass(FalseVal::class)]
final class FalseValTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/FibonacciTest.php b/tests/unit/Rules/FibonacciTest.php
index 385132a2..74da0b6f 100644
--- a/tests/unit/Rules/FibonacciTest.php
+++ b/tests/unit/Rules/FibonacciTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Fibonacci
- */
+#[Group('rule')]
+#[CoversClass(Fibonacci::class)]
final class FibonacciTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/FileTest.php b/tests/unit/Rules/FileTest.php
index 06f67096..e6f001e5 100644
--- a/tests/unit/Rules/FileTest.php
+++ b/tests/unit/Rules/FileTest.php
@@ -9,6 +9,8 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use SplFileInfo;
use SplFileObject;
@@ -16,10 +18,8 @@ use stdClass;
use const PHP_INT_MAX;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\File
- */
+#[Group('rule')]
+#[CoversClass(File::class)]
final class FileTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/FilterVarTest.php b/tests/unit/Rules/FilterVarTest.php
index 0d9246f4..aed9564c 100644
--- a/tests/unit/Rules/FilterVarTest.php
+++ b/tests/unit/Rules/FilterVarTest.php
@@ -9,6 +9,9 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
@@ -22,16 +25,12 @@ use const FILTER_VALIDATE_FLOAT;
use const FILTER_VALIDATE_INT;
use const FILTER_VALIDATE_URL;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractEnvelope
- * @covers \Respect\Validation\Rules\FilterVar
- */
+#[Group('rule')]
+#[CoversClass(AbstractEnvelope::class)]
+#[CoversClass(FilterVar::class)]
final class FilterVarTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function itShouldThrowsExceptionWhenFilterIsNotValid(): void
{
$this->expectException(ComponentException::class);
diff --git a/tests/unit/Rules/FiniteTest.php b/tests/unit/Rules/FiniteTest.php
index 59873177..c37287b6 100644
--- a/tests/unit/Rules/FiniteTest.php
+++ b/tests/unit/Rules/FiniteTest.php
@@ -9,6 +9,8 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
@@ -17,10 +19,8 @@ use function acos;
use const INF;
use const PHP_INT_MAX;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Finite
- */
+#[Group('rule')]
+#[CoversClass(Finite::class)]
final class FiniteTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/FloatTypeTest.php b/tests/unit/Rules/FloatTypeTest.php
index f548d05a..dc702bca 100644
--- a/tests/unit/Rules/FloatTypeTest.php
+++ b/tests/unit/Rules/FloatTypeTest.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use const PHP_INT_MAX;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\FloatType
- */
+#[Group('rule')]
+#[CoversClass(FloatType::class)]
final class FloatTypeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/FloatValTest.php b/tests/unit/Rules/FloatValTest.php
index 1cfd30cb..7a1bf8b1 100644
--- a/tests/unit/Rules/FloatValTest.php
+++ b/tests/unit/Rules/FloatValTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\FloatVal
- */
+#[Group('rule')]
+#[CoversClass(FloatVal::class)]
final class FloatValTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/GraphTest.php b/tests/unit/Rules/GraphTest.php
index 1561d750..043a45d8 100644
--- a/tests/unit/Rules/GraphTest.php
+++ b/tests/unit/Rules/GraphTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractFilterRule
- * @covers \Respect\Validation\Rules\Graph
- */
+#[Group('rule')]
+#[CoversClass(AbstractFilterRule::class)]
+#[CoversClass(Graph::class)]
final class GraphTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/GreaterThanTest.php b/tests/unit/Rules/GreaterThanTest.php
index 6e4274e5..2630a26b 100644
--- a/tests/unit/Rules/GreaterThanTest.php
+++ b/tests/unit/Rules/GreaterThanTest.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\CountableStub;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractComparison
- * @covers \Respect\Validation\Rules\GreaterThan
- */
+#[Group('rule')]
+#[CoversClass(AbstractComparison::class)]
+#[CoversClass(GreaterThan::class)]
final class GreaterThanTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/HexRgbColorTest.php b/tests/unit/Rules/HexRgbColorTest.php
index 1feeb7fd..2b25a557 100644
--- a/tests/unit/Rules/HexRgbColorTest.php
+++ b/tests/unit/Rules/HexRgbColorTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\HexRgbColor
- */
+#[Group('rule')]
+#[CoversClass(HexRgbColor::class)]
final class HexRgbColorTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/IbanTest.php b/tests/unit/Rules/IbanTest.php
index eaf88a4d..9a9e009f 100644
--- a/tests/unit/Rules/IbanTest.php
+++ b/tests/unit/Rules/IbanTest.php
@@ -9,15 +9,15 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
use function extension_loaded;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Iban
- */
+#[Group('rule')]
+#[CoversClass(Iban::class)]
final class IbanTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/IdenticalTest.php b/tests/unit/Rules/IdenticalTest.php
index d0ddf267..21fb9349 100644
--- a/tests/unit/Rules/IdenticalTest.php
+++ b/tests/unit/Rules/IdenticalTest.php
@@ -9,18 +9,17 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Identical
- */
+#[Group('rule')]
+#[CoversClass(Identical::class)]
final class IdenticalTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function shouldPassCompareToParameterToException(): void
{
$compareTo = new stdClass();
diff --git a/tests/unit/Rules/ImageTest.php b/tests/unit/Rules/ImageTest.php
index ae7b7ddd..50bf147e 100644
--- a/tests/unit/Rules/ImageTest.php
+++ b/tests/unit/Rules/ImageTest.php
@@ -10,19 +10,18 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
use finfo;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\RuleTestCase;
use SplFileInfo;
use SplFileObject;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Image
- */
+#[Group('rule')]
+#[CoversClass(Image::class)]
final class ImageTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function shouldValidateWithDefinedInstanceOfFileInfo(): void
{
$input = self::fixture('valid-image.gif');
@@ -32,7 +31,7 @@ final class ImageTest extends RuleTestCase
->expects(self::once())
->method('file')
->with($input)
- ->will(self::returnValue('image/gif'));
+ ->willReturn('image/gif');
$rule = new Image($finfo);
diff --git a/tests/unit/Rules/ImeiTest.php b/tests/unit/Rules/ImeiTest.php
index 713dca0a..071065cd 100644
--- a/tests/unit/Rules/ImeiTest.php
+++ b/tests/unit/Rules/ImeiTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Imei
- */
+#[Group('rule')]
+#[CoversClass(Imei::class)]
final class ImeiTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/InTest.php b/tests/unit/Rules/InTest.php
index a5aead57..fb3e6bee 100644
--- a/tests/unit/Rules/InTest.php
+++ b/tests/unit/Rules/InTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\In
- */
+#[Group('rule')]
+#[CoversClass(In::class)]
final class InTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/InfiniteTest.php b/tests/unit/Rules/InfiniteTest.php
index 4908609c..87d74161 100644
--- a/tests/unit/Rules/InfiniteTest.php
+++ b/tests/unit/Rules/InfiniteTest.php
@@ -9,16 +9,16 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
use const INF;
use const PHP_INT_MAX;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Infinite
- */
+#[Group('rule')]
+#[CoversClass(Infinite::class)]
final class InfiniteTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/InstanceTest.php b/tests/unit/Rules/InstanceTest.php
index 3dd5a59e..2b4739e8 100644
--- a/tests/unit/Rules/InstanceTest.php
+++ b/tests/unit/Rules/InstanceTest.php
@@ -12,15 +12,15 @@ namespace Respect\Validation\Rules;
use ArrayIterator;
use ArrayObject;
use DateTime;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use SplFileInfo;
use stdClass;
use Traversable;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Instance
- */
+#[Group('rule')]
+#[CoversClass(Instance::class)]
final class InstanceTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/IntTypeTest.php b/tests/unit/Rules/IntTypeTest.php
index 258ba74f..e3a6ef40 100644
--- a/tests/unit/Rules/IntTypeTest.php
+++ b/tests/unit/Rules/IntTypeTest.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use const PHP_INT_MAX;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\IntType
- */
+#[Group('rule')]
+#[CoversClass(IntType::class)]
final class IntTypeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/IntValTest.php b/tests/unit/Rules/IntValTest.php
index dc3d6942..cc4f72a8 100644
--- a/tests/unit/Rules/IntValTest.php
+++ b/tests/unit/Rules/IntValTest.php
@@ -9,15 +9,15 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
use const PHP_INT_MAX;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\IntVal
- */
+#[Group('rule')]
+#[CoversClass(IntVal::class)]
final class IntValTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/IpTest.php b/tests/unit/Rules/IpTest.php
index 1a5423a7..e0a88493 100644
--- a/tests/unit/Rules/IpTest.php
+++ b/tests/unit/Rules/IpTest.php
@@ -9,6 +9,10 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
@@ -17,17 +21,12 @@ use function extension_loaded;
use const FILTER_FLAG_IPV6;
use const FILTER_FLAG_NO_PRIV_RANGE;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Ip
- */
+#[Group('rule')]
+#[CoversClass(Ip::class)]
final class IpTest extends RuleTestCase
{
- /**
- * @test
- * @dataProvider providerForInvalidRanges
- * @throws ComponentException
- */
+ #[Test]
+ #[DataProvider('providerForInvalidRanges')]
public function invalidRangeShouldRaiseException(string $range): void
{
$this->expectException(ComponentException::class);
diff --git a/tests/unit/Rules/IsbnTest.php b/tests/unit/Rules/IsbnTest.php
index ed17072e..eb924cf3 100644
--- a/tests/unit/Rules/IsbnTest.php
+++ b/tests/unit/Rules/IsbnTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Isbn
- */
+#[Group('rule')]
+#[CoversClass(Isbn::class)]
final class IsbnTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/IterableTypeTest.php b/tests/unit/Rules/IterableTypeTest.php
index 055e79fb..65f1e08e 100644
--- a/tests/unit/Rules/IterableTypeTest.php
+++ b/tests/unit/Rules/IterableTypeTest.php
@@ -10,13 +10,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
use ArrayIterator;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\IterableType
- */
+#[Group('rule')]
+#[CoversClass(IterableType::class)]
final class IterableTypeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/JsonTest.php b/tests/unit/Rules/JsonTest.php
index a1ccb7a7..dc35f1eb 100644
--- a/tests/unit/Rules/JsonTest.php
+++ b/tests/unit/Rules/JsonTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Json
- */
+#[Group('rule')]
+#[CoversClass(Json::class)]
final class JsonTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/KeyNestedTest.php b/tests/unit/Rules/KeyNestedTest.php
index 106f6765..e5bafc0a 100644
--- a/tests/unit/Rules/KeyNestedTest.php
+++ b/tests/unit/Rules/KeyNestedTest.php
@@ -10,21 +10,21 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
use ArrayObject;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DoesNotPerformAssertions;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\KeyNestedException;
use Respect\Validation\Test\TestCase;
use Respect\Validation\Validatable;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractRelated
- * @covers \Respect\Validation\Rules\KeyNested
- */
+#[Group('rule')]
+#[CoversClass(AbstractRelated::class)]
+#[CoversClass(KeyNested::class)]
final class KeyNestedTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function arrayWithPresentKeysWillReturnTrueForFullPathValidator(): void
{
$array = [
@@ -43,9 +43,7 @@ final class KeyNestedTest extends TestCase
self::assertTrue($rule->validate($array));
}
- /**
- * @test
- */
+ #[Test]
public function arrayWithNumericKeysWillReturnTrueForFullPathValidator(): void
{
$array = [
@@ -62,9 +60,7 @@ final class KeyNestedTest extends TestCase
$rule->check($array);
}
- /**
- * @test
- */
+ #[Test]
public function arrayWithPresentKeysWillReturnTrueForHalfPathValidator(): void
{
$array = [
@@ -83,9 +79,7 @@ final class KeyNestedTest extends TestCase
self::assertTrue($rule->validate($array));
}
- /**
- * @test
- */
+ #[Test]
public function objectWithPresentPropertiesWillReturnTrueForDirtyPathValidator(): void
{
$object = (object) [
@@ -104,9 +98,7 @@ final class KeyNestedTest extends TestCase
self::assertTrue($rule->validate($object));
}
- /**
- * @test
- */
+ #[Test]
public function emptyInputMustReturnFalse(): void
{
$rule = new KeyNested('bar.foo.baz');
@@ -114,9 +106,7 @@ final class KeyNestedTest extends TestCase
self::assertFalse($rule->validate(''));
}
- /**
- * @test
- */
+ #[Test]
public function emptyInputMustNotAssert(): void
{
$rule = new KeyNested('bar.foo.baz');
@@ -124,9 +114,7 @@ final class KeyNestedTest extends TestCase
$rule->assert('');
}
- /**
- * @test
- */
+ #[Test]
public function emptyInputMustNotCheck(): void
{
$rule = new KeyNested('bar.foo.baz');
@@ -134,9 +122,7 @@ final class KeyNestedTest extends TestCase
$rule->check('');
}
- /**
- * @test
- */
+ #[Test]
public function arrayWithEmptyKeyShouldReturnTrue(): void
{
$rule = new KeyNested('emptyKey');
@@ -145,9 +131,7 @@ final class KeyNestedTest extends TestCase
self::assertTrue($rule->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function arrayWithAbsentKeyShouldThrowNestedKeyException(): void
{
$validator = new KeyNested('bar.bar');
@@ -160,9 +144,7 @@ final class KeyNestedTest extends TestCase
$validator->assert($object);
}
- /**
- * @test
- */
+ #[Test]
public function notArrayShouldThrowKeyException(): void
{
$validator = new KeyNested('baz.bar');
@@ -171,10 +153,8 @@ final class KeyNestedTest extends TestCase
$validator->assert($object);
}
- /**
- * @doesNotPerformAssertions
- * @test
- */
+ #[Test]
+ #[DoesNotPerformAssertions]
public function extraValidatorShouldValidateKey(): void
{
$subValidator = new Length(3, 7);
@@ -189,9 +169,7 @@ final class KeyNestedTest extends TestCase
$validator->assert($object);
}
- /**
- * @test
- */
+ #[Test]
public function notMandatoryExtraValidatorShouldPassWithAbsentKey(): void
{
$subValidator = new Length(1, 3);
@@ -200,9 +178,7 @@ final class KeyNestedTest extends TestCase
self::assertTrue($validator->validate($object));
}
- /**
- * @test
- */
+ #[Test]
public function arrayAccessWithPresentKeysWillReturnTrue(): void
{
$arrayAccess = new ArrayObject([
diff --git a/tests/unit/Rules/KeySetTest.php b/tests/unit/Rules/KeySetTest.php
index 844ace2c..64948edd 100644
--- a/tests/unit/Rules/KeySetTest.php
+++ b/tests/unit/Rules/KeySetTest.php
@@ -9,20 +9,20 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Exceptions\KeySetException;
use Respect\Validation\Test\TestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\KeySet
- */
+#[Group('rule')]
+#[CoversClass(KeySet::class)]
final class KeySetTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function shouldNotAcceptAllOfWithMoreThanOneKeyRule(): void
{
$key1 = new Key('foo', new AlwaysValid(), false);
@@ -35,9 +35,7 @@ final class KeySetTest extends TestCase
new KeySet($allOf);
}
- /**
- * @test
- */
+ #[Test]
public function shouldNotAcceptAllOfWithNonKeyRule(): void
{
$alwaysValid = new AlwaysValid();
@@ -49,9 +47,7 @@ final class KeySetTest extends TestCase
new KeySet($allOf);
}
- /**
- * @test
- */
+ #[Test]
public function shouldNotAcceptNonKeyRule(): void
{
$alwaysValid = new AlwaysValid();
@@ -62,9 +58,7 @@ final class KeySetTest extends TestCase
new KeySet($alwaysValid);
}
- /**
- * @test
- */
+ #[Test]
public function shouldValidateKeysWhenThereAreMissingRequiredKeys(): void
{
$input = [
@@ -79,9 +73,7 @@ final class KeySetTest extends TestCase
self::assertFalse($keySet->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function shouldValidateKeysWhenThereAreMissingNonRequiredKeys(): void
{
$input = [
@@ -96,9 +88,7 @@ final class KeySetTest extends TestCase
self::assertTrue($keySet->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function shouldValidateKeysWhenThereAreMoreKeys(): void
{
$input = [
@@ -115,9 +105,7 @@ final class KeySetTest extends TestCase
self::assertFalse($keySet->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function shouldValidateKeysWhenEmpty(): void
{
$input = [];
@@ -130,9 +118,7 @@ final class KeySetTest extends TestCase
self::assertFalse($keySet->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function shouldCheckKeys(): void
{
$input = [];
@@ -148,9 +134,7 @@ final class KeySetTest extends TestCase
$keySet->check($input);
}
- /**
- * @test
- */
+ #[Test]
public function shouldAssertKeys(): void
{
$input = [];
@@ -166,9 +150,7 @@ final class KeySetTest extends TestCase
$keySet->assert($input);
}
- /**
- * @test
- */
+ #[Test]
public function shouldWarnOfExtraKeysWithMessage(): void
{
$input = ['foo' => 123, 'bar' => 456];
@@ -183,9 +165,7 @@ final class KeySetTest extends TestCase
$keySet->assert($input);
}
- /**
- * @test
- */
+ #[Test]
public function cannotBeNegated(): void
{
$key1 = new Key('foo', new AlwaysValid(), true);
@@ -196,10 +176,8 @@ final class KeySetTest extends TestCase
new Not(new KeySet($key1));
}
- /**
- * @test
- * @dataProvider providerForInvalidArguments
- */
+ #[Test]
+ #[DataProvider('providerForInvalidArguments')]
public function shouldThrowExceptionInCaseArgumentIsAnythingOtherThanArray(mixed $input): void
{
$keySet = new KeySet(new Key('name'));
diff --git a/tests/unit/Rules/KeyTest.php b/tests/unit/Rules/KeyTest.php
index b964067f..75a39dd6 100644
--- a/tests/unit/Rules/KeyTest.php
+++ b/tests/unit/Rules/KeyTest.php
@@ -9,21 +9,21 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DoesNotPerformAssertions;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Exceptions\KeyException;
use Respect\Validation\Test\TestCase;
use Throwable;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractRelated
- * @covers \Respect\Validation\Rules\Key
- */
+#[Group('rule')]
+#[CoversClass(AbstractRelated::class)]
+#[CoversClass(Key::class)]
final class KeyTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function arrayWithPresentKeyShouldReturnTrue(): void
{
$validator = new Key('bar');
@@ -32,9 +32,7 @@ final class KeyTest extends TestCase
self::assertTrue($validator->validate($someArray));
}
- /**
- * @test
- */
+ #[Test]
public function arrayWithNumericKeyShouldReturnTrue(): void
{
$validator = new Key(0);
@@ -43,9 +41,7 @@ final class KeyTest extends TestCase
self::assertTrue($validator->validate($someArray));
}
- /**
- * @test
- */
+ #[Test]
public function emptyInputMustReturnFalse(): void
{
$validator = new Key('someEmptyKey');
@@ -54,9 +50,7 @@ final class KeyTest extends TestCase
self::assertFalse($validator->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function emptyInputMustNotAssert(): void
{
$validator = new Key('someEmptyKey');
@@ -66,9 +60,7 @@ final class KeyTest extends TestCase
$validator->assert('');
}
- /**
- * @test
- */
+ #[Test]
public function emptyInputMustNotCheck(): void
{
$validator = new Key('someEmptyKey');
@@ -78,9 +70,7 @@ final class KeyTest extends TestCase
$validator->check('');
}
- /**
- * @test
- */
+ #[Test]
public function arrayWithEmptyKeyShouldReturnTrue(): void
{
$validator = new Key('someEmptyKey');
@@ -90,9 +80,7 @@ final class KeyTest extends TestCase
self::assertTrue($validator->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function shouldHaveTheSameReturnValueForAllValidators(): void
{
$rule = new Key('key', new NotEmpty());
@@ -113,9 +101,7 @@ final class KeyTest extends TestCase
self::assertFalse($rule->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function arrayWithAbsentKeyShouldThrowKeyException(): void
{
$validator = new Key('bar');
@@ -127,9 +113,7 @@ final class KeyTest extends TestCase
$validator->assert($someArray);
}
- /**
- * @test
- */
+ #[Test]
public function notArrayShouldThrowKeyException(): void
{
$validator = new Key('bar');
@@ -140,9 +124,7 @@ final class KeyTest extends TestCase
$validator->assert($someArray);
}
- /**
- * @test
- */
+ #[Test]
public function invalidConstructorParametersShouldThrowComponentExceptionUponInstantiation(): void
{
$this->expectException(ComponentException::class);
@@ -150,10 +132,8 @@ final class KeyTest extends TestCase
new Key(['invalid']);
}
- /**
- * @doesNotPerformAssertions
- * @test
- */
+ #[Test]
+ #[DoesNotPerformAssertions]
public function extraValidatorShouldValidateKey(): void
{
$subValidator = new Length(1, 3);
@@ -163,9 +143,7 @@ final class KeyTest extends TestCase
$validator->assert($someArray);
}
- /**
- * @test
- */
+ #[Test]
public function notMandatoryExtraValidatorShouldPassWithAbsentKey(): void
{
$subValidator = new Length(1, 3);
diff --git a/tests/unit/Rules/KeyValueTest.php b/tests/unit/Rules/KeyValueTest.php
index 97a768dd..ae02cdee 100644
--- a/tests/unit/Rules/KeyValueTest.php
+++ b/tests/unit/Rules/KeyValueTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\KeyValue
- */
+#[Group('rule')]
+#[CoversClass(KeyValue::class)]
final class KeyValueTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/LanguageCodeTest.php b/tests/unit/Rules/LanguageCodeTest.php
index 5cc7ef54..586daaf1 100644
--- a/tests/unit/Rules/LanguageCodeTest.php
+++ b/tests/unit/Rules/LanguageCodeTest.php
@@ -9,19 +9,18 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractEnvelope
- * @covers \Respect\Validation\Rules\LanguageCode
- */
+#[Group('rule')]
+#[CoversClass(AbstractEnvelope::class)]
+#[CoversClass(LanguageCode::class)]
final class LanguageCodeTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function itShouldThrowAnExceptionWhenSetIsInvalid(): void
{
$this->expectExceptionObject(new ComponentException('"foo" is not a valid language set for ISO 639'));
diff --git a/tests/unit/Rules/LeapDateTest.php b/tests/unit/Rules/LeapDateTest.php
index d89a3bb1..fc5bac5d 100644
--- a/tests/unit/Rules/LeapDateTest.php
+++ b/tests/unit/Rules/LeapDateTest.php
@@ -10,12 +10,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
use DateTime;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\LeapDate
- */
+#[Group('rule')]
+#[CoversClass(LeapDate::class)]
final class LeapDateTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/LeapYearTest.php b/tests/unit/Rules/LeapYearTest.php
index 33118c0e..690723cb 100644
--- a/tests/unit/Rules/LeapYearTest.php
+++ b/tests/unit/Rules/LeapYearTest.php
@@ -10,12 +10,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
use DateTime;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\LeapYear
- */
+#[Group('rule')]
+#[CoversClass(LeapYear::class)]
final class LeapYearTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/LengthTest.php b/tests/unit/Rules/LengthTest.php
index 63601784..d143873d 100644
--- a/tests/unit/Rules/LengthTest.php
+++ b/tests/unit/Rules/LengthTest.php
@@ -9,6 +9,9 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\CountableStub;
@@ -16,15 +19,11 @@ use Respect\Validation\Test\Stubs\CountableStub;
use function range;
use function tmpfile;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Length
- */
+#[Group('rule')]
+#[CoversClass(Length::class)]
final class LengthTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function isShouldNotNotAcceptInvalidLengths(): void
{
$this->expectException(ComponentException::class);
diff --git a/tests/unit/Rules/LessThanTest.php b/tests/unit/Rules/LessThanTest.php
index a72563e3..2820c0c3 100644
--- a/tests/unit/Rules/LessThanTest.php
+++ b/tests/unit/Rules/LessThanTest.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\CountableStub;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractComparison
- * @covers \Respect\Validation\Rules\LessThan
- */
+#[Group('rule')]
+#[CoversClass(AbstractComparison::class)]
+#[CoversClass(LessThan::class)]
final class LessThanTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/LowercaseTest.php b/tests/unit/Rules/LowercaseTest.php
index 8891ace1..c992d087 100644
--- a/tests/unit/Rules/LowercaseTest.php
+++ b/tests/unit/Rules/LowercaseTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Lowercase
- */
+#[Group('rule')]
+#[CoversClass(Lowercase::class)]
final class LowercaseTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/LuhnTest.php b/tests/unit/Rules/LuhnTest.php
index a0135f09..135b6990 100644
--- a/tests/unit/Rules/LuhnTest.php
+++ b/tests/unit/Rules/LuhnTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Luhn
- */
+#[Group('rule')]
+#[CoversClass(Luhn::class)]
final class LuhnTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/MacAddressTest.php b/tests/unit/Rules/MacAddressTest.php
index 8348e6df..fb6c7a7d 100644
--- a/tests/unit/Rules/MacAddressTest.php
+++ b/tests/unit/Rules/MacAddressTest.php
@@ -9,6 +9,8 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use function random_int;
@@ -16,10 +18,8 @@ use function tmpfile;
use const PHP_INT_MAX;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\MacAddress
- */
+#[Group('rule')]
+#[CoversClass(MacAddress::class)]
final class MacAddressTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/MaxAgeTest.php b/tests/unit/Rules/MaxAgeTest.php
index a7b60c94..0cfdf957 100644
--- a/tests/unit/Rules/MaxAgeTest.php
+++ b/tests/unit/Rules/MaxAgeTest.php
@@ -11,17 +11,17 @@ namespace Respect\Validation\Rules;
use DateTime;
use DateTimeImmutable;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
use function date;
use function strtotime;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractAge
- * @covers \Respect\Validation\Rules\MaxAge
- */
+#[Group('rule')]
+#[CoversClass(AbstractAge::class)]
+#[CoversClass(MaxAge::class)]
final class MaxAgeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/MaxTest.php b/tests/unit/Rules/MaxTest.php
index 0aa981c5..6f375f7d 100644
--- a/tests/unit/Rules/MaxTest.php
+++ b/tests/unit/Rules/MaxTest.php
@@ -11,14 +11,14 @@ namespace Respect\Validation\Rules;
use DateTime;
use DateTimeImmutable;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\CountableStub;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractComparison
- * @covers \Respect\Validation\Rules\Max
- */
+#[Group('rule')]
+#[CoversClass(AbstractComparison::class)]
+#[CoversClass(Max::class)]
final class MaxTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/MimetypeTest.php b/tests/unit/Rules/MimetypeTest.php
index ed9ba9b8..4bb8cdf4 100644
--- a/tests/unit/Rules/MimetypeTest.php
+++ b/tests/unit/Rules/MimetypeTest.php
@@ -10,6 +10,9 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
use finfo;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\RuleTestCase;
use SplFileInfo;
use SplFileObject;
@@ -20,15 +23,11 @@ use function tmpfile;
use const FILEINFO_MIME_TYPE;
use const PHP_INT_MAX;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Mimetype
- */
+#[Group('rule')]
+#[CoversClass(Mimetype::class)]
final class MimetypeTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function itShouldValidateWithDefinedFinfoInstance(): void
{
$mimetype = 'application/octet-stream';
@@ -43,7 +42,7 @@ final class MimetypeTest extends RuleTestCase
->expects(self::once())
->method('file')
->with($filename, FILEINFO_MIME_TYPE)
- ->will(self::returnValue($mimetype));
+ ->willReturn($mimetype);
$rule = new Mimetype($mimetype, $fileInfoMock);
diff --git a/tests/unit/Rules/MinAgeTest.php b/tests/unit/Rules/MinAgeTest.php
index 7f6cf30e..219f2f8c 100644
--- a/tests/unit/Rules/MinAgeTest.php
+++ b/tests/unit/Rules/MinAgeTest.php
@@ -11,17 +11,17 @@ namespace Respect\Validation\Rules;
use DateTime;
use DateTimeImmutable;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
use function date;
use function strtotime;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractAge
- * @covers \Respect\Validation\Rules\MinAge
- */
+#[Group('rule')]
+#[CoversClass(AbstractAge::class)]
+#[CoversClass(MinAge::class)]
final class MinAgeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/MinTest.php b/tests/unit/Rules/MinTest.php
index 9ef40a91..767823b1 100644
--- a/tests/unit/Rules/MinTest.php
+++ b/tests/unit/Rules/MinTest.php
@@ -11,14 +11,14 @@ namespace Respect\Validation\Rules;
use DateTime;
use DateTimeImmutable;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\CountableStub;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractComparison
- * @covers \Respect\Validation\Rules\Min
- */
+#[Group('rule')]
+#[CoversClass(AbstractComparison::class)]
+#[CoversClass(Min::class)]
final class MinTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/MultipleTest.php b/tests/unit/Rules/MultipleTest.php
index a696a337..d81c1a25 100644
--- a/tests/unit/Rules/MultipleTest.php
+++ b/tests/unit/Rules/MultipleTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Multiple
- */
+#[Group('rule')]
+#[CoversClass(Multiple::class)]
final class MultipleTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/NegativeTest.php b/tests/unit/Rules/NegativeTest.php
index ee1f023e..dc29e9d6 100644
--- a/tests/unit/Rules/NegativeTest.php
+++ b/tests/unit/Rules/NegativeTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Negative
- */
+#[Group('rule')]
+#[CoversClass(Negative::class)]
final class NegativeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/NfeAccessKeyTest.php b/tests/unit/Rules/NfeAccessKeyTest.php
index 858babe3..f2440b22 100644
--- a/tests/unit/Rules/NfeAccessKeyTest.php
+++ b/tests/unit/Rules/NfeAccessKeyTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\NfeAccessKey
- */
+#[Group('rule')]
+#[CoversClass(NfeAccessKey::class)]
final class NfeAccessKeyTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/NifTest.php b/tests/unit/Rules/NifTest.php
index 213bd9e9..e044c621 100644
--- a/tests/unit/Rules/NifTest.php
+++ b/tests/unit/Rules/NifTest.php
@@ -9,15 +9,15 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
use function stream_context_create;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Nif
- */
+#[Group(' rule')]
+#[CoversClass(Nif::class)]
final class NifTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/NipTest.php b/tests/unit/Rules/NipTest.php
index d7ca518d..4c233320 100644
--- a/tests/unit/Rules/NipTest.php
+++ b/tests/unit/Rules/NipTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Nip
- */
+#[Group('rule')]
+#[CoversClass(Nip::class)]
final class NipTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/NoTest.php b/tests/unit/Rules/NoTest.php
index 967a15ea..ee56b103 100644
--- a/tests/unit/Rules/NoTest.php
+++ b/tests/unit/Rules/NoTest.php
@@ -9,6 +9,11 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
+use Respect\Validation\Exceptions\NoException;
use Respect\Validation\Test\RuleTestCase;
use function setlocale;
@@ -16,19 +21,15 @@ use function sprintf;
use const LC_ALL;
-/**
- * @group rule
- * @covers \Respect\Validation\Exceptions\NoException
- * @covers \Respect\Validation\Rules\No
- */
+#[Group('rule')]
+#[CoversClass(NoException::class)]
+#[CoversClass(No::class)]
final class NoTest extends RuleTestCase
{
private readonly string $locale;
- /**
- * @test
- * @dataProvider providerForValidInputWithLocale
- */
+ #[Test]
+ #[DataProvider('providerForValidInputWithLocale')]
public function itShouldValidateInputAccordingToTheLocale(string $locale, string $input): void
{
setlocale(LC_ALL, $locale);
@@ -40,10 +41,8 @@ final class NoTest extends RuleTestCase
self::assertValidInput(new No(true), $input);
}
- /**
- * @test
- * @dataProvider providerForInvalidInputWithLocale
- */
+ #[Test]
+ #[DataProvider('providerForInvalidInputWithLocale')]
public function itShouldInvalidateInputAccordingToTheLocale(string $locale, string $input): void
{
setlocale(LC_ALL, $locale);
diff --git a/tests/unit/Rules/NoWhitespaceTest.php b/tests/unit/Rules/NoWhitespaceTest.php
index bea8b0f7..edb05c83 100644
--- a/tests/unit/Rules/NoWhitespaceTest.php
+++ b/tests/unit/Rules/NoWhitespaceTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\NoWhitespace
- */
+#[Group('rule')]
+#[CoversClass(NoWhitespace::class)]
final class NoWhitespaceTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/NoneOfTest.php b/tests/unit/Rules/NoneOfTest.php
index 6d6dac0f..0f0f4fb9 100644
--- a/tests/unit/Rules/NoneOfTest.php
+++ b/tests/unit/Rules/NoneOfTest.php
@@ -9,19 +9,18 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\NoneOfException;
use Respect\Validation\Test\TestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Exceptions\NoneOfException
- * @covers \Respect\Validation\Rules\NoneOf
- */
+#[Group('rule')]
+#[CoversClass(NoneOfException::class)]
+#[CoversClass(NoneOf::class)]
final class NoneOfTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function valid(): void
{
$valid1 = new Callback(static function () {
@@ -39,9 +38,7 @@ final class NoneOfTest extends TestCase
$o->check('any');
}
- /**
- * @test
- */
+ #[Test]
public function invalid(): void
{
$valid1 = new Callback(static function () {
diff --git a/tests/unit/Rules/NotBlankTest.php b/tests/unit/Rules/NotBlankTest.php
index 0999cdc5..5a3e31de 100644
--- a/tests/unit/Rules/NotBlankTest.php
+++ b/tests/unit/Rules/NotBlankTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\NotBlank
- */
+#[Group('rule')]
+#[CoversClass(NotBlank::class)]
final class NotBlankTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/NotEmojiTest.php b/tests/unit/Rules/NotEmojiTest.php
index addec4a2..d99c71a3 100644
--- a/tests/unit/Rules/NotEmojiTest.php
+++ b/tests/unit/Rules/NotEmojiTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\NotEmoji
- */
+#[Group('rule')]
+#[CoversClass(NotEmoji::class)]
final class NotEmojiTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/NotEmptyTest.php b/tests/unit/Rules/NotEmptyTest.php
index b9e49c61..69ae0886 100644
--- a/tests/unit/Rules/NotEmptyTest.php
+++ b/tests/unit/Rules/NotEmptyTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\NotEmpty
- */
+#[Group('rule')]
+#[CoversClass(NotEmpty::class)]
final class NotEmptyTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/NotOptionalTest.php b/tests/unit/Rules/NotOptionalTest.php
index 764f76c4..f0dac6f9 100644
--- a/tests/unit/Rules/NotOptionalTest.php
+++ b/tests/unit/Rules/NotOptionalTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\NotOptional
- */
+#[Group('rule')]
+#[CoversClass(NotOptional::class)]
final class NotOptionalTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/NotTest.php b/tests/unit/Rules/NotTest.php
index 5dd254fc..f5ac94bb 100644
--- a/tests/unit/Rules/NotTest.php
+++ b/tests/unit/Rules/NotTest.php
@@ -9,33 +9,33 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
+use Respect\Validation\Exceptions\NotException;
use Respect\Validation\Exceptions\ValidationException;
use Respect\Validation\Test\TestCase;
use Respect\Validation\Validatable;
use Respect\Validation\Validator;
-/**
- * @group rule
- * @covers \Respect\Validation\Exceptions\NotException
- * @covers \Respect\Validation\Rules\Not
- */
+#[Group('rule')]
+#[CoversClass(NotException::class)]
+#[CoversClass(Not::class)]
final class NotTest extends TestCase
{
- /**
- * @doesNotPerformAssertions
- * @dataProvider providerForValidNot
- * @test
- */
+ #[Test]
+ #[DataProvider('providerForValidNot')]
public function not(Validatable $rule, mixed $input): void
{
+ $this->expectNotToPerformAssertions();
+
$not = new Not($rule);
$not->assert($input);
}
- /**
- * @dataProvider providerForInvalidNot
- * @test
- */
+ #[Test]
+ #[DataProvider('providerForInvalidNot')]
public function notNotHaha(Validatable $rule, mixed $input): void
{
$not = new Not($rule);
@@ -45,10 +45,8 @@ final class NotTest extends TestCase
$not->assert($input);
}
- /**
- * @dataProvider providerForSetName
- * @test
- */
+ #[Test]
+ #[DataProvider('providerForSetName')]
public function notSetName(Validatable $rule): void
{
$not = new Not($rule);
@@ -59,7 +57,7 @@ final class NotTest extends TestCase
}
/**
- * @return mixed[][]
+ * @return array
*/
public static function providerForValidNot(): array
{
@@ -76,7 +74,7 @@ final class NotTest extends TestCase
}
/**
- * @return mixed[][]
+ * @return array
*/
public static function providerForInvalidNot(): array
{
@@ -89,7 +87,7 @@ final class NotTest extends TestCase
}
/**
- * @return Validatable[][]
+ * @return array
*/
public static function providerForSetName(): array
{
diff --git a/tests/unit/Rules/NullTypeTest.php b/tests/unit/Rules/NullTypeTest.php
index 32b5a24e..2e2a9d56 100644
--- a/tests/unit/Rules/NullTypeTest.php
+++ b/tests/unit/Rules/NullTypeTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\NullType
- */
+#[Group('rule')]
+#[CoversClass(NullType::class)]
final class NullTypeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/NullableTest.php b/tests/unit/Rules/NullableTest.php
index 014324c0..818bcfcf 100644
--- a/tests/unit/Rules/NullableTest.php
+++ b/tests/unit/Rules/NullableTest.php
@@ -9,19 +9,19 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\TestCase;
use Respect\Validation\Validatable;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Nullable
- */
+#[Group('rule')]
+#[CoversClass(Nullable::class)]
final class NullableTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function shouldNotValidateRuleWhenInputIsNull(): void
{
$validatable = $this->createMock(Validatable::class);
@@ -34,10 +34,8 @@ final class NullableTest extends TestCase
self::assertTrue($rule->validate(null));
}
- /**
- * @dataProvider providerForNotNullable
- * @test
- */
+ #[Test]
+ #[DataProvider('providerForNotNullable')]
public function shouldValidateRuleWhenInputIsNotNullable(mixed $input): void
{
$validatable = $this->createMock(Validatable::class);
@@ -45,16 +43,14 @@ final class NullableTest extends TestCase
->expects(self::once())
->method('validate')
->with($input)
- ->will(self::returnValue(true));
+ ->willReturn(true);
$rule = new Nullable($validatable);
self::assertTrue($rule->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function shouldNotAssertRuleWhenInputIsNull(): void
{
$validatable = $this->createMock(Validatable::class);
@@ -66,26 +62,21 @@ final class NullableTest extends TestCase
$rule->assert(null);
}
- /**
- * @test
- * @dataProvider providerForNotNullable
- */
+ #[Test]
+ #[DataProvider('providerForNotNullable')]
public function shouldAssertRuleWhenInputIsNotNullable(mixed $input): void
{
$validatable = $this->createMock(Validatable::class);
$validatable
->expects(self::once())
->method('assert')
- ->with($input)
- ->will(self::returnValue(true));
+ ->with($input);
$rule = new Nullable($validatable);
$rule->assert($input);
}
- /**
- * @test
- */
+ #[Test]
public function shouldNotCheckRuleWhenInputIsNull(): void
{
$validatable = $this->createMock(Validatable::class);
@@ -97,18 +88,15 @@ final class NullableTest extends TestCase
$rule->check(null);
}
- /**
- * @test
- * @dataProvider providerForNotNullable
- */
+ #[Test]
+ #[DataProvider('providerForNotNullable')]
public function shouldCheckRuleWhenInputIsNotNullable(mixed $input): void
{
$validatable = $this->createMock(Validatable::class);
$validatable
->expects(self::once())
->method('check')
- ->with($input)
- ->will(self::returnValue(true));
+ ->with($input);
$rule = new Nullable($validatable);
$rule->check($input);
diff --git a/tests/unit/Rules/NumberTest.php b/tests/unit/Rules/NumberTest.php
index fd6ba6c0..123fd94e 100644
--- a/tests/unit/Rules/NumberTest.php
+++ b/tests/unit/Rules/NumberTest.php
@@ -9,6 +9,8 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
@@ -19,10 +21,8 @@ use const INF;
use const NAN;
use const PHP_INT_MAX;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Number
- */
+#[Group('rule')]
+#[CoversClass(Number::class)]
final class NumberTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/NumericValTest.php b/tests/unit/Rules/NumericValTest.php
index b8dcdb7d..08b6dbcc 100644
--- a/tests/unit/Rules/NumericValTest.php
+++ b/tests/unit/Rules/NumericValTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\NumericVal
- */
+#[Group('rule')]
+#[CoversClass(NumericVal::class)]
final class NumericValTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/ObjectTypeTest.php b/tests/unit/Rules/ObjectTypeTest.php
index b623df45..56b796ed 100644
--- a/tests/unit/Rules/ObjectTypeTest.php
+++ b/tests/unit/Rules/ObjectTypeTest.php
@@ -10,13 +10,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
use ArrayObject;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\ObjectType
- */
+#[Group('rule')]
+#[CoversClass(ObjectType::class)]
final class ObjectTypeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/OddTest.php b/tests/unit/Rules/OddTest.php
index 9762eec8..6aa480b3 100644
--- a/tests/unit/Rules/OddTest.php
+++ b/tests/unit/Rules/OddTest.php
@@ -9,15 +9,15 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
use function tmpfile;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Odd
- */
+#[Group('rule')]
+#[CoversClass(Odd::class)]
final class OddTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/OneOfTest.php b/tests/unit/Rules/OneOfTest.php
index 28da9f9a..f365ac94 100644
--- a/tests/unit/Rules/OneOfTest.php
+++ b/tests/unit/Rules/OneOfTest.php
@@ -9,21 +9,20 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\CallbackException;
use Respect\Validation\Exceptions\OneOfException;
use Respect\Validation\Exceptions\XdigitException;
use Respect\Validation\Test\TestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Exceptions\OneOfException
- * @covers \Respect\Validation\Rules\OneOf
- */
+#[Group('rule')]
+#[CoversClass(OneOfException::class)]
+#[CoversClass(OneOf::class)]
final class OneOfTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function valid(): void
{
$valid1 = new Callback(static function () {
@@ -43,9 +42,7 @@ final class OneOfTest extends TestCase
$rule->check('any');
}
- /**
- * @test
- */
+ #[Test]
public function emptyChain(): void
{
$rule = new OneOf();
@@ -57,9 +54,7 @@ final class OneOfTest extends TestCase
$rule->check('any');
}
- /**
- * @test
- */
+ #[Test]
public function invalid(): void
{
$valid1 = new Callback(static function () {
@@ -78,9 +73,7 @@ final class OneOfTest extends TestCase
$rule->assert('any');
}
- /**
- * @test
- */
+ #[Test]
public function invalidMultipleAssert(): void
{
$valid1 = new Callback(static function () {
@@ -99,9 +92,7 @@ final class OneOfTest extends TestCase
$rule->assert('any');
}
- /**
- * @test
- */
+ #[Test]
public function invalidMultipleCheck(): void
{
$valid1 = new Callback(static function () {
@@ -121,9 +112,7 @@ final class OneOfTest extends TestCase
$rule->check('any');
}
- /**
- * @test
- */
+ #[Test]
public function invalidMultipleCheckAllValid(): void
{
$valid1 = new Callback(static function () {
@@ -143,9 +132,7 @@ final class OneOfTest extends TestCase
$rule->check('any');
}
- /**
- * @test
- */
+ #[Test]
public function invalidCheck(): void
{
$rule = new OneOf(new Xdigit(), new Alnum());
diff --git a/tests/unit/Rules/OptionalTest.php b/tests/unit/Rules/OptionalTest.php
index 6df1da17..d1445b89 100644
--- a/tests/unit/Rules/OptionalTest.php
+++ b/tests/unit/Rules/OptionalTest.php
@@ -9,20 +9,20 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\TestCase;
use Respect\Validation\Validatable;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Optional
- */
+#[Group('rule')]
+#[CoversClass(Optional::class)]
final class OptionalTest extends TestCase
{
- /**
- * @dataProvider providerForOptional
- * @test
- */
+ #[Test]
+ #[DataProvider('providerForOptional')]
public function shouldNotValidateRuleWhenInputIsOptional(mixed $input): void
{
$validatable = $this->createMock(Validatable::class);
@@ -35,10 +35,8 @@ final class OptionalTest extends TestCase
self::assertTrue($rule->validate($input));
}
- /**
- * @dataProvider providerForNotOptional
- * @test
- */
+ #[Test]
+ #[DataProvider('providerForNotOptional')]
public function shouldValidateRuleWhenInputIsNotOptional(mixed $input): void
{
$validatable = $this->createMock(Validatable::class);
@@ -46,16 +44,14 @@ final class OptionalTest extends TestCase
->expects(self::once())
->method('validate')
->with($input)
- ->will(self::returnValue(true));
+ ->willReturn(true);
$rule = new Optional($validatable);
self::assertTrue($rule->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function shouldNotAssertRuleWhenInputIsOptional(): void
{
$validatable = $this->createMock(Validatable::class);
@@ -68,9 +64,7 @@ final class OptionalTest extends TestCase
$rule->assert('');
}
- /**
- * @test
- */
+ #[Test]
public function shouldAssertRuleWhenInputIsNotOptional(): void
{
$input = 'foo';
@@ -79,17 +73,14 @@ final class OptionalTest extends TestCase
$validatable
->expects(self::once())
->method('assert')
- ->with($input)
- ->will(self::returnValue(true));
+ ->with($input);
$rule = new Optional($validatable);
$rule->assert($input);
}
- /**
- * @test
- */
+ #[Test]
public function shouldNotCheckRuleWhenInputIsOptional(): void
{
$validatable = $this->createMock(Validatable::class);
@@ -102,9 +93,7 @@ final class OptionalTest extends TestCase
$rule->check('');
}
- /**
- * @test
- */
+ #[Test]
public function shouldCheckRuleWhenInputIsNotOptional(): void
{
$input = 'foo';
@@ -113,8 +102,7 @@ final class OptionalTest extends TestCase
$validatable
->expects(self::once())
->method('check')
- ->with($input)
- ->will(self::returnValue(true));
+ ->with($input);
$rule = new Optional($validatable);
diff --git a/tests/unit/Rules/PerfectSquareTest.php b/tests/unit/Rules/PerfectSquareTest.php
index 5e734c16..ceb415a4 100644
--- a/tests/unit/Rules/PerfectSquareTest.php
+++ b/tests/unit/Rules/PerfectSquareTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\PerfectSquare
- */
+#[Group('rule')]
+#[CoversClass(PerfectSquare::class)]
final class PerfectSquareTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/PeselTest.php b/tests/unit/Rules/PeselTest.php
index 8b1abfdf..e0ff476c 100644
--- a/tests/unit/Rules/PeselTest.php
+++ b/tests/unit/Rules/PeselTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Pesel
- */
+#[Group('rule')]
+#[CoversClass(Pesel::class)]
final class PeselTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/PhoneTest.php b/tests/unit/Rules/PhoneTest.php
index 9de658b2..e69ba5b6 100644
--- a/tests/unit/Rules/PhoneTest.php
+++ b/tests/unit/Rules/PhoneTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Exceptions\PhoneException;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Phone
- */
+#[Group('rule')]
+#[CoversClass(Phone::class)]
final class PhoneTest extends RuleTestCase
{
public function testThrowsExceptionWithCountryName(): void
diff --git a/tests/unit/Rules/PhpLabelTest.php b/tests/unit/Rules/PhpLabelTest.php
index dee62a34..66212a01 100644
--- a/tests/unit/Rules/PhpLabelTest.php
+++ b/tests/unit/Rules/PhpLabelTest.php
@@ -10,6 +10,8 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
use DateTime;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
@@ -18,10 +20,8 @@ use function mt_rand;
use function random_int;
use function uniqid;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\PhpLabel
- */
+#[Group('rule')]
+#[CoversClass(PhpLabel::class)]
final class PhpLabelTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/PisTest.php b/tests/unit/Rules/PisTest.php
index 10981eea..e5b0eccf 100644
--- a/tests/unit/Rules/PisTest.php
+++ b/tests/unit/Rules/PisTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Pis
- */
+#[Group('rule')]
+#[CoversClass(Pis::class)]
final class PisTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/PolishIdCardTest.php b/tests/unit/Rules/PolishIdCardTest.php
index 208053a8..89c5637c 100644
--- a/tests/unit/Rules/PolishIdCardTest.php
+++ b/tests/unit/Rules/PolishIdCardTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\PolishIdCard
- */
+#[Group('rule')]
+#[CoversClass(PolishIdCard::class)]
final class PolishIdCardTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/PositiveTest.php b/tests/unit/Rules/PositiveTest.php
index aa600de9..c69b88cb 100644
--- a/tests/unit/Rules/PositiveTest.php
+++ b/tests/unit/Rules/PositiveTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Positive
- */
+#[Group('rule')]
+#[CoversClass(Positive::class)]
final class PositiveTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/PostalCodeTest.php b/tests/unit/Rules/PostalCodeTest.php
index a7aabad3..8aa922e7 100644
--- a/tests/unit/Rules/PostalCodeTest.php
+++ b/tests/unit/Rules/PostalCodeTest.php
@@ -9,18 +9,17 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\PostalCode
- */
+#[Group('rule')]
+#[CoversClass(PostalCode::class)]
final class PostalCodeTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function shouldValidateEmptyStringsWhenUsingDefaultPattern(): void
{
$rule = new PostalCode('ZW');
@@ -28,9 +27,7 @@ final class PostalCodeTest extends RuleTestCase
self::assertValidInput($rule, '');
}
- /**
- * @test
- */
+ #[Test]
public function shouldNotValidateNonEmptyStringsWhenUsingDefaultPattern(): void
{
$rule = new PostalCode('ZW');
@@ -38,9 +35,7 @@ final class PostalCodeTest extends RuleTestCase
self::assertInvalidInput($rule, ' ');
}
- /**
- * @test
- */
+ #[Test]
public function shouldThrowsExceptionWhenCountryCodeIsNotValid(): void
{
$this->expectException(ComponentException::class);
diff --git a/tests/unit/Rules/PrimeNumberTest.php b/tests/unit/Rules/PrimeNumberTest.php
index 6ca1f099..36e374af 100644
--- a/tests/unit/Rules/PrimeNumberTest.php
+++ b/tests/unit/Rules/PrimeNumberTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\PrimeNumber
- */
+#[Group('rule')]
+#[CoversClass(PrimeNumber::class)]
final class PrimeNumberTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/PrintableTest.php b/tests/unit/Rules/PrintableTest.php
index 08bceaa0..6a8b56c4 100644
--- a/tests/unit/Rules/PrintableTest.php
+++ b/tests/unit/Rules/PrintableTest.php
@@ -9,15 +9,15 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use function chr;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractFilterRule
- * @covers \Respect\Validation\Rules\Printable
- */
+#[Group('rule')]
+#[CoversClass(AbstractFilterRule::class)]
+#[CoversClass(Printable::class)]
final class PrintableTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/PublicDomainSuffixTest.php b/tests/unit/Rules/PublicDomainSuffixTest.php
index 4c129a06..4cef31c3 100644
--- a/tests/unit/Rules/PublicDomainSuffixTest.php
+++ b/tests/unit/Rules/PublicDomainSuffixTest.php
@@ -9,12 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use Respect\Validation\Exceptions\PublicDomainSuffixException;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @covers \Respect\Validation\Exceptions\PublicDomainSuffixException
- * @covers \Respect\Validation\Rules\PublicDomainSuffix
- */
+#[Group('rule')]
+#[CoversClass(PublicDomainSuffixException::class)]
+#[CoversClass(PublicDomainSuffix::class)]
final class PublicDomainSuffixTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/PunctTest.php b/tests/unit/Rules/PunctTest.php
index 48dcd300..9c9feb92 100644
--- a/tests/unit/Rules/PunctTest.php
+++ b/tests/unit/Rules/PunctTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractFilterRule
- * @covers \Respect\Validation\Rules\Punct
- */
+#[Group('rule')]
+#[CoversClass(AbstractFilterRule::class)]
+#[CoversClass(Punct::class)]
final class PunctTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/ReadableTest.php b/tests/unit/Rules/ReadableTest.php
index 4a95135e..6ce838ec 100644
--- a/tests/unit/Rules/ReadableTest.php
+++ b/tests/unit/Rules/ReadableTest.php
@@ -9,15 +9,15 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\StreamStub;
use SplFileInfo;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Readable
- */
+#[Group('rule')]
+#[CoversClass(Readable::class)]
final class ReadableTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/RegexTest.php b/tests/unit/Rules/RegexTest.php
index b248ab88..2fff5b3b 100644
--- a/tests/unit/Rules/RegexTest.php
+++ b/tests/unit/Rules/RegexTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Regex
- */
+#[Group('rule')]
+#[CoversClass(Regex::class)]
final class RegexTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/ResourceTypeTest.php b/tests/unit/Rules/ResourceTypeTest.php
index 579872e3..4cf08a6c 100644
--- a/tests/unit/Rules/ResourceTypeTest.php
+++ b/tests/unit/Rules/ResourceTypeTest.php
@@ -9,16 +9,16 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
use function stream_context_create;
use function tmpfile;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\ResourceType
- */
+#[Group('rule')]
+#[CoversClass(ResourceType::class)]
final class ResourceTypeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/RomanTest.php b/tests/unit/Rules/RomanTest.php
index 319cec0a..9360baed 100644
--- a/tests/unit/Rules/RomanTest.php
+++ b/tests/unit/Rules/RomanTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Roman
- */
+#[Group('rule')]
+#[CoversClass(Roman::class)]
final class RomanTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/ScalarValTest.php b/tests/unit/Rules/ScalarValTest.php
index a0f67604..cd571a3e 100644
--- a/tests/unit/Rules/ScalarValTest.php
+++ b/tests/unit/Rules/ScalarValTest.php
@@ -9,15 +9,15 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
use function tmpfile;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\ScalarVal
- */
+#[Group('rule')]
+#[CoversClass(ScalarVal::class)]
final class ScalarValTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/SizeTest.php b/tests/unit/Rules/SizeTest.php
index e0cf15e4..4677704e 100644
--- a/tests/unit/Rules/SizeTest.php
+++ b/tests/unit/Rules/SizeTest.php
@@ -11,21 +11,20 @@ namespace Respect\Validation\Rules;
use org\bovigo\vfs\content\LargeFileContent;
use org\bovigo\vfs\vfsStream;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\StreamStub;
use Respect\Validation\Test\Stubs\UploadedFileStub;
use SplFileInfo;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Size
- */
+#[Group('rule')]
+#[CoversClass(Size::class)]
final class SizeTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function shouldThrowsAnExceptionWhenSizeIsNotValid(): void
{
$this->expectException(ComponentException::class);
diff --git a/tests/unit/Rules/SlugTest.php b/tests/unit/Rules/SlugTest.php
index 6e208f60..80f24d68 100644
--- a/tests/unit/Rules/SlugTest.php
+++ b/tests/unit/Rules/SlugTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Slug
- */
+#[Group('rule')]
+#[CoversClass(Slug::class)]
final class SlugTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/SortedTest.php b/tests/unit/Rules/SortedTest.php
index 7ac330b6..6fecfc41 100644
--- a/tests/unit/Rules/SortedTest.php
+++ b/tests/unit/Rules/SortedTest.php
@@ -9,19 +9,18 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rules
- * @covers \Respect\Validation\Rules\Sorted
- */
+#[Group('rules')]
+#[CoversClass(Sorted::class)]
final class SortedTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function itShouldNotAcceptWrongSortingDirection(): void
{
$this->expectExceptionObject(new ComponentException('Direction should be either "ASC" or "DESC"'));
diff --git a/tests/unit/Rules/SpaceTest.php b/tests/unit/Rules/SpaceTest.php
index 28573ba8..25c80a36 100644
--- a/tests/unit/Rules/SpaceTest.php
+++ b/tests/unit/Rules/SpaceTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractFilterRule
- * @covers \Respect\Validation\Rules\Space
- */
+#[Group('rule')]
+#[CoversClass(AbstractFilterRule::class)]
+#[CoversClass(Space::class)]
final class SpaceTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/StartsWithTest.php b/tests/unit/Rules/StartsWithTest.php
index c5d3c1ed..4ce3a7d0 100644
--- a/tests/unit/Rules/StartsWithTest.php
+++ b/tests/unit/Rules/StartsWithTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\StartsWith
- */
+#[Group('rule')]
+#[CoversClass(StartsWith::class)]
final class StartsWithTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/StringTypeTest.php b/tests/unit/Rules/StringTypeTest.php
index b65d9c78..eb948f2e 100644
--- a/tests/unit/Rules/StringTypeTest.php
+++ b/tests/unit/Rules/StringTypeTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\StringType
- */
+#[Group('rule')]
+#[CoversClass(StringType::class)]
final class StringTypeTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/StringValTest.php b/tests/unit/Rules/StringValTest.php
index b6951aed..192eacae 100644
--- a/tests/unit/Rules/StringValTest.php
+++ b/tests/unit/Rules/StringValTest.php
@@ -9,16 +9,16 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\ToStringStub;
use stdClass;
use function tmpfile;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\StringVal
- */
+#[Group('rule')]
+#[CoversClass(StringVal::class)]
final class StringValTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/SubdivisionCodeTest.php b/tests/unit/Rules/SubdivisionCodeTest.php
index a5bc843c..9c4d11f2 100644
--- a/tests/unit/Rules/SubdivisionCodeTest.php
+++ b/tests/unit/Rules/SubdivisionCodeTest.php
@@ -9,21 +9,20 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Exceptions\SubdivisionCodeException;
use Respect\Validation\Test\TestCase;
-/**
- * @covers \Respect\Validation\Exceptions\SubdivisionCodeException
- * @covers \Respect\Validation\Rules\SubdivisionCode
- */
+#[Group('rule')]
+#[CoversClass(SubdivisionCodeException::class)]
+#[CoversClass(SubdivisionCode::class)]
final class SubdivisionCodeTest extends TestCase
{
- /**
- * @expectedException \Respect\Validation\Exceptions\ComponentException
- * @expectedExceptionMessage "whatever" is not a supported country code
- * @test
- */
+ #[Test]
public function shouldThrowsExceptionWhenInvalidFormat(): void
{
$this->expectException(ComponentException::class);
@@ -32,9 +31,7 @@ final class SubdivisionCodeTest extends TestCase
new SubdivisionCode('whatever');
}
- /**
- * @test
- */
+ #[Test]
public function shouldNotAcceptWrongNamesOnConstructor(): void
{
$this->expectException(ComponentException::class);
@@ -43,10 +40,8 @@ final class SubdivisionCodeTest extends TestCase
new SubdivisionCode('JK');
}
- /**
- * @dataProvider providerForValidSubdivisionCodeInformation
- * @test
- */
+ #[Test]
+ #[DataProvider('providerForValidSubdivisionCodeInformation')]
public function shouldValidateValidSubdivisionCodeInformation(string $countryCode, ?string $input): void
{
$countrySubdivision = new SubdivisionCode($countryCode);
@@ -54,10 +49,8 @@ final class SubdivisionCodeTest extends TestCase
self::assertTrue($countrySubdivision->validate($input));
}
- /**
- * @dataProvider providerForInvalidSubdivisionCodeInformation
- * @test
- */
+ #[Test]
+ #[DataProvider('providerForInvalidSubdivisionCodeInformation')]
public function shouldNotValidateInvalidSubdivisionCodeInformation(string $countryCode, mixed $input): void
{
$countrySubdivision = new SubdivisionCode($countryCode);
@@ -65,9 +58,7 @@ final class SubdivisionCodeTest extends TestCase
self::assertFalse($countrySubdivision->validate($input));
}
- /**
- * @test
- */
+ #[Test]
public function shouldThrowsSubdivisionCodeException(): void
{
$countrySubdivision = new SubdivisionCode('BR');
diff --git a/tests/unit/Rules/SubsetTest.php b/tests/unit/Rules/SubsetTest.php
index 1157e2f5..46274a6a 100644
--- a/tests/unit/Rules/SubsetTest.php
+++ b/tests/unit/Rules/SubsetTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Subset
- */
+#[Group('rule')]
+#[CoversClass(Subset::class)]
final class SubsetTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/SymbolicLinkTest.php b/tests/unit/Rules/SymbolicLinkTest.php
index c11b2edd..9cc86e0f 100644
--- a/tests/unit/Rules/SymbolicLinkTest.php
+++ b/tests/unit/Rules/SymbolicLinkTest.php
@@ -9,16 +9,16 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use SplFileInfo;
use SplFileObject;
use function tmpfile;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\SymbolicLink
- */
+#[Group('rule')]
+#[CoversClass(SymbolicLink::class)]
final class SymbolicLinkTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/TimeTest.php b/tests/unit/Rules/TimeTest.php
index ebf0332a..878dbdf8 100644
--- a/tests/unit/Rules/TimeTest.php
+++ b/tests/unit/Rules/TimeTest.php
@@ -11,19 +11,19 @@ namespace Respect\Validation\Rules;
use DateTime;
use DateTimeImmutable;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Time
- */
+#[Group('rule')]
+#[CoversClass(Time::class)]
final class TimeTest extends RuleTestCase
{
- /**
- * @test
- * @dataProvider invalidFormatsProvider
- */
+ #[Test]
+ #[DataProvider('invalidFormatsProvider')]
public function shouldThrowAnExceptionWhenFormatIsNotValid(string $format): void
{
$this->expectException(ComponentException::class);
@@ -31,9 +31,7 @@ final class TimeTest extends RuleTestCase
new Time($format);
}
- /**
- * @test
- */
+ #[Test]
public function shouldPassFormatToParameterToException(): void
{
$format = 'g:i A';
diff --git a/tests/unit/Rules/TldTest.php b/tests/unit/Rules/TldTest.php
index dfe08fb9..6582a255 100644
--- a/tests/unit/Rules/TldTest.php
+++ b/tests/unit/Rules/TldTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Tld
- */
+#[Group('rule')]
+#[CoversClass(Tld::class)]
final class TldTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/TrueValTest.php b/tests/unit/Rules/TrueValTest.php
index c381dcf2..d0b51de9 100644
--- a/tests/unit/Rules/TrueValTest.php
+++ b/tests/unit/Rules/TrueValTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\TrueVal
- */
+#[Group('rule')]
+#[CoversClass(TrueVal::class)]
final class TrueValTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/TypeTest.php b/tests/unit/Rules/TypeTest.php
index 4ef4cd9c..739ec01a 100644
--- a/tests/unit/Rules/TypeTest.php
+++ b/tests/unit/Rules/TypeTest.php
@@ -9,21 +9,20 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
use function tmpfile;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Type
- */
+#[Group(' rule')]
+#[CoversClass(Type::class)]
final class TypeTest extends RuleTestCase
{
- /**
- * @test
- */
+ #[Test]
public function shouldThrowExceptionWhenTypeIsNotValid(): void
{
$this->expectException(ComponentException::class);
diff --git a/tests/unit/Rules/UniqueTest.php b/tests/unit/Rules/UniqueTest.php
index 197d019a..fcd7b73a 100644
--- a/tests/unit/Rules/UniqueTest.php
+++ b/tests/unit/Rules/UniqueTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Unique
- */
+#[Group('rule')]
+#[CoversClass(Unique::class)]
final class UniqueTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/UploadedTest.php b/tests/unit/Rules/UploadedTest.php
index a95e7fb3..411e420a 100644
--- a/tests/unit/Rules/UploadedTest.php
+++ b/tests/unit/Rules/UploadedTest.php
@@ -9,7 +9,9 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
-use PHPUnit\Framework\SkippedTestError;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\SkippedWithMessageException;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\UploadedFileStub;
use SplFileInfo;
@@ -18,10 +20,8 @@ use stdClass;
use function extension_loaded;
use function uopz_set_return;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Uploaded
- */
+#[Group('rule')]
+#[CoversClass(Uploaded::class)]
final class UploadedTest extends RuleTestCase
{
public const UPLOADED_FILENAME = 'uploaded.ext';
@@ -59,7 +59,7 @@ final class UploadedTest extends RuleTestCase
protected function setUp(): void
{
if (!extension_loaded('uopz')) {
- throw new SkippedTestError('Extension "uopz" is required to test "Uploaded" rule');
+ throw new SkippedWithMessageException('Extension "uopz" is required to test "Uploaded" rule');
}
uopz_set_return(
diff --git a/tests/unit/Rules/UppercaseTest.php b/tests/unit/Rules/UppercaseTest.php
index 620a0e3b..c5160ce7 100644
--- a/tests/unit/Rules/UppercaseTest.php
+++ b/tests/unit/Rules/UppercaseTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Uppercase
- */
+#[Group('rule')]
+#[CoversClass(Uppercase::class)]
final class UppercaseTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/UrlTest.php b/tests/unit/Rules/UrlTest.php
index 86a10370..45ca043e 100644
--- a/tests/unit/Rules/UrlTest.php
+++ b/tests/unit/Rules/UrlTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractEnvelope
- * @covers \Respect\Validation\Rules\Url
- */
+#[Group('rule')]
+#[CoversClass(AbstractEnvelope::class)]
+#[CoversClass(Url::class)]
final class UrlTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/UuidTest.php b/tests/unit/Rules/UuidTest.php
index a52ab348..dfe3d9fb 100644
--- a/tests/unit/Rules/UuidTest.php
+++ b/tests/unit/Rules/UuidTest.php
@@ -9,6 +9,9 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
@@ -18,10 +21,8 @@ use function random_int;
use const PHP_INT_MAX;
use const PHP_INT_MIN;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Uuid
- */
+#[Group('rule')]
+#[CoversClass(Uuid::class)]
final class UuidTest extends RuleTestCase
{
private const UUID_VERSION_1 = 'e4eaaaf2-d142-11e1-b3e4-080027620cdd';
@@ -29,9 +30,7 @@ final class UuidTest extends RuleTestCase
private const UUID_VERSION_4 = '25769c6c-d34d-4bfe-ba98-e0ee856f3e7a';
private const UUID_VERSION_5 = 'c4a760a8-dbcf-5254-a0d9-6a4474bd1b62';
- /**
- * @test
- */
+ #[Test]
public function itShouldThrowExceptionWhenVersionIsTwo(): void
{
self::expectException(ComponentException::class);
@@ -40,9 +39,7 @@ final class UuidTest extends RuleTestCase
new Uuid(2);
}
- /**
- * @test
- */
+ #[Test]
public function itShouldThrowExceptionWhenVersionIsGreaterThanFive(): void
{
$version = random_int(6, PHP_INT_MAX);
@@ -53,9 +50,7 @@ final class UuidTest extends RuleTestCase
new Uuid($version);
}
- /**
- * @test
- */
+ #[Test]
public function itShouldThrowExceptionWhenVersionIsLessThanOne(): void
{
$version = random_int(PHP_INT_MIN, 0);
diff --git a/tests/unit/Rules/VersionTest.php b/tests/unit/Rules/VersionTest.php
index 6ad5ef4b..80f7c6eb 100644
--- a/tests/unit/Rules/VersionTest.php
+++ b/tests/unit/Rules/VersionTest.php
@@ -9,14 +9,14 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use function uniqid;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Version
- */
+#[Group('rule')]
+#[CoversClass(Version::class)]
final class VersionTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/VideoUrlTest.php b/tests/unit/Rules/VideoUrlTest.php
index 4d568ea7..0b709ac6 100644
--- a/tests/unit/Rules/VideoUrlTest.php
+++ b/tests/unit/Rules/VideoUrlTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\VideoUrl
- */
+#[Group('rule')]
+#[CoversClass(VideoUrl::class)]
final class VideoUrlTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/VowelTest.php b/tests/unit/Rules/VowelTest.php
index e2ec0f63..7361880f 100644
--- a/tests/unit/Rules/VowelTest.php
+++ b/tests/unit/Rules/VowelTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractFilterRule
- * @covers \Respect\Validation\Rules\Vowel
- */
+#[Group('rule')]
+#[CoversClass(AbstractFilterRule::class)]
+#[CoversClass(Vowel::class)]
final class VowelTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/WhenTest.php b/tests/unit/Rules/WhenTest.php
index 5c05ef9d..24999b19 100644
--- a/tests/unit/Rules/WhenTest.php
+++ b/tests/unit/Rules/WhenTest.php
@@ -9,12 +9,12 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\When
- */
+#[Group('rule')]
+#[CoversClass(When::class)]
final class WhenTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/WritableTest.php b/tests/unit/Rules/WritableTest.php
index 57c19b51..4543f63e 100644
--- a/tests/unit/Rules/WritableTest.php
+++ b/tests/unit/Rules/WritableTest.php
@@ -9,6 +9,8 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\StreamStub;
use SplFileInfo;
@@ -17,10 +19,8 @@ use stdClass;
use function chmod;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Writable
- */
+#[Group('rule')]
+#[CoversClass(Writable::class)]
final class WritableTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/XdigitTest.php b/tests/unit/Rules/XdigitTest.php
index 58c088b9..0fb1aa17 100644
--- a/tests/unit/Rules/XdigitTest.php
+++ b/tests/unit/Rules/XdigitTest.php
@@ -9,13 +9,13 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Group;
use Respect\Validation\Test\RuleTestCase;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\AbstractFilterRule
- * @covers \Respect\Validation\Rules\Xdigit
- */
+#[Group('rule')]
+#[CoversClass(AbstractFilterRule::class)]
+#[CoversClass(Xdigit::class)]
final class XdigitTest extends RuleTestCase
{
/**
diff --git a/tests/unit/Rules/YesTest.php b/tests/unit/Rules/YesTest.php
index 3a196c61..7523f215 100644
--- a/tests/unit/Rules/YesTest.php
+++ b/tests/unit/Rules/YesTest.php
@@ -9,6 +9,10 @@ declare(strict_types=1);
namespace Respect\Validation\Rules;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
@@ -19,18 +23,14 @@ use function sprintf;
use const LC_ALL;
use const PHP_INT_MAX;
-/**
- * @group rule
- * @covers \Respect\Validation\Rules\Yes
- */
+#[Group('rule')]
+#[CoversClass(Yes::class)]
final class YesTest extends RuleTestCase
{
private readonly string $locale;
- /**
- * @test
- * @dataProvider providerForValidInputWithLocale
- */
+ #[Test]
+ #[DataProvider('providerForValidInputWithLocale')]
public function itShouldValidateValidInputAccordingToTheLocale(string $locale, string $input): void
{
setlocale(LC_ALL, $locale);
@@ -42,10 +42,8 @@ final class YesTest extends RuleTestCase
self::assertValidInput(new Yes(true), $input);
}
- /**
- * @test
- * @dataProvider providerForInvalidInputWithLocale
- */
+ #[Test]
+ #[DataProvider('providerForInvalidInputWithLocale')]
public function itShouldValidateInvalidInputAccordingToTheLocale(string $locale, string $input): void
{
setlocale(LC_ALL, $locale);
diff --git a/tests/unit/ValidatorTest.php b/tests/unit/ValidatorTest.php
index 26ac46a1..29485d73 100644
--- a/tests/unit/ValidatorTest.php
+++ b/tests/unit/ValidatorTest.php
@@ -9,34 +9,28 @@ declare(strict_types=1);
namespace Respect\Validation;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Exceptions\ComponentException;
use Respect\Validation\Test\TestCase;
-/**
- * @covers \Respect\Validation\Validator
- */
+#[CoversClass(Validator::class)]
final class ValidatorTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function staticCreateShouldReturnNewValidator(): void
{
self::assertInstanceOf(Validator::class, Validator::create());
}
- /**
- * @test
- */
+ #[Test]
public function invalidRuleClassShouldThrowComponentException(): void
{
$this->expectException(ComponentException::class);
Validator::iDoNotExistSoIShouldThrowException();
}
- /**
- * @test
- */
+ #[Test]
public function shouldReturnValidatorInstanceWhenTheNotRuleIsCalledWithArguments(): void
{
$validator = new Validator();