Durante la scrittura di unit test per una funzione boolean
che ritorna che richiede due String
s, e ho dovuto testare ogni carattere dell'alfabeto ( 'a'
- 'z'
) in sequenza come uno dei parametri, uno per uno, quindi ho scritto questo per farlo:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, new String(c));
}
Avrei pensato che fosse ammissibile, ma non lo era, quindi invece l'ho fatto così:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, ((Character) c).toString());
}
È un metodo affidabile per convertire a char
in String
in Java? È il modo preferito? Non so molto su Java, quindi vorrei qualche chiarimento al riguardo.
IntStream.rangeClosed('a', 'z')
?
IntStream.range(0, 26).mapToObj(i -> Character.toString((char) ('a' + i))).forEach(x -> assertTrue(MyClass.MyFunction(testSubject, x)));