有2字节数组:private byte[] mData;
和方法:
public void setWord(final short pData) {
mData[0] = (byte) (pData >>> 8);
mData[1] = (byte) (pData);
}
我写了一个简单的测试:
public void testWord() {
Word word = new Word();
word.setWord((short) 0x3FFF);
Assert.assertEquals(0x3F, word.getByte(0));
Assert.assertEquals(0xFF, word.getByte(1));
}
第二个断言失败并显示消息“预期为 255,但为 -1”。我知道,0xFF 签名短实际上是-1,但为什么 JUnit 认为它们不相等?而且,实现这些类的正确方法是什么?