Я получаю тестовый сбой, который показывает
junit.framework.ComparisonFailure:
Expected :?⚕?♂️️
Actual :?⚕️?♂️
Эти две строки выглядят одинаково для меня! Что мне здесь не хватает? Я думаю, что консоль скрывает некоторые символы, такие как, возможно, столяр нулевой ширины?
Вот мой код. У меня есть другие тесты, использующие ?, ?? и ?⚕️. Сбой только с 100
class Emoji {
static String unicodeStringFromCodePointStrings(String[] codePointStrings) {
StringBuilder sb = new StringBuilder();
for (String codePointString : codePointStrings) {
codePointString = codePointString.replace("U+","");
int codePoint = Integer.parseInt(codePointString, 16);
char[] chars = Character.toChars(codePoint);
sb.append(new String(chars));
}
return sb.toString();
}
}
public class EmojiTest {
@Test
public void testMultipleCompoundEmoji() {
String[] input = "U+1F469 U+200D U+2695 U+FE0F U+1F9D8 U+200D U+2642 U+FE0F".split(" ");
String output = Emoji.unicodeStringFromCodePointStrings(input);
assertEquals("?⚕?♂️️", output);
}
}