@Test
public void testHashCode() {

    Map<byte[], Integer> map = new LinkedHashMap<byte[], Integer>();
    map.put(EMPTY_BYTES, 1);
    map.put(new byte[] { 1 }, 32);
    map.put(new byte[] { 2 }, 33);
    map.put(new byte[] { 0, 1 }, 962);
    map.put(new byte[] { 1, 2 }, 994);
    map.put(new byte[] { 0, 1, 2, 3, 4, 5 }, 63504931);
    map.put(new byte[] { 6, 7, 8, 9, 0, 1 }, (int) 97180294697L);
    map.put(new byte[] { -1, -1, -1, (byte) 0xE1 }, 1);
    for (Entry<byte[], Integer> e: map.entrySet()) {
        ByteBuf buffer = wrappedBuffer(e.getKey());
        assertEquals(
                e.getValue().intValue(),
                ByteBufUtil.hashCode(buffer));
        buffer.release();
    }
}