Pisząc testy jednostkowe dla funkcji zwracającej, booleanktóra zajmuje dwa Strings, musiałem przetestować każdy znak alfabetu ( 'a'-'z' ) w sekwencji jako jeden z parametrów, jeden po drugim, więc napisałem to, aby to zrobić:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, new String(c));
}
Myślałbym, że to jest dopuszczalne, ale tak nie było, więc po prostu zrobiłem to w ten sposób:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, ((Character) c).toString());
}
Czy jest to niezawodna metoda konwersji charna Stringjęzyk Java? Czy to preferowany sposób? Nie znam się dużo na Javie, dlatego chciałbym coś wyjaśnić.
IntStream.rangeClosed('a', 'z')?
IntStream.range(0, 26).mapToObj(i -> Character.toString((char) ('a' + i))).forEach(x -> assertTrue(MyClass.MyFunction(testSubject, x)));