Lors de l'écriture de tests unitaires pour une fonction de retour boolean
qui prend deux String
s, 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 char
un String
en 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')
?
String
constructeur 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 String
qui accepte un seul char
argument. Notez que ce char
n'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)));