Lors de l'écriture de tests unitaires pour une fonction de retour booleanqui prend deux Strings, et j'avais besoin de tester chaque caractère de l'alphabet ( 'a'- 'z') en séquence comme l'un des paramètres, un par un, alors j'ai écrit ceci pour le faire:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, new String(c));
}
J'aurais pensé que c'était permis, mais ce n'était pas le cas, alors je l'ai fait comme ceci à la place:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, ((Character) c).toString());
}
Est-ce une méthode fiable pour convertir charun Stringen Java? Est-ce la voie préférée? Je ne sais pas grand-chose sur Java, donc j'aimerais avoir des éclaircissements à ce sujet.
IntStream.rangeClosed('a', 'z')?
Stringconstructeur qui n'existe pas? Corrigez-moi si je me trompe, mais pour autant que je sache, il n'y a pas de constructeur en classe Stringqui accepte un seul charargument. Notez que ce charn'est pas la même chose que char[].
IntStream.range(0, 26).mapToObj(i -> Character.toString((char) ('a' + i))).forEach(x -> assertTrue(MyClass.MyFunction(testSubject, x)));