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.