Eu faria diferente, da seguinte forma.
class UserTest extends TestCase
{
/**
*@dataProvider usersProvider
*/
public function testIfUserIsAnAdultOrNot($firstName, $lastName, $age, $isAdult): void
{
$user = new User($firstName, $lastName, $age);
self::assertEquals($isAdult, $user->isAdult());
}
//O método estático abaixo retornará um conjunto de dados que podem ser
//utilizados no teste acima
public static function usersProvider(): array
{
return [
'firstUser' => ['Natan', 'Matos', 19, true],
'secondUser' => ['Oliver', 'Souza', 27, true],
'thirdUser' => ['Giovanna', 'Matsumoto', 16, false]
];
}
}
Assim eu removeria de dentro do teste esse if ternário, pois acho que está adicionando ruído na intenção do teste.