【发布时间】:2018-10-16 12:44:18
【问题描述】:
我的测试失败了
junit.framework.ComparisonFailure:
Expected :????⚕????♂️️
Actual :????⚕️????♂️
这两个字符串在我看来是一样的!我在这里想念什么?我在想控制台隐藏了一些字符,比如可能是零宽度的连接器?
这是我的代码。我还有其他使用 ????、?????????? 和 ????⚕️ 的测试。它只会失败 ??????⚕️??????♂️
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);
}
}
【问题讨论】: