    @Test
    public void hashcode() {

        assertEquals(Boolean.FALSE.hashCode(), Hashing.hashcode(false));
        assertEquals(Boolean.TRUE.hashCode(), Hashing.hashcode(true));

        assertEquals(Byte.valueOf((byte) -1).hashCode(), Hashing.hashcode((byte) -1));

        assertEquals(Character.valueOf('a').hashCode(), Hashing.hashcode('a'));

        assertEquals(new Double(Math.E).hashCode(), Hashing.hashcode(Math.E));
        assertEquals(new Double(Math.PI).hashCode(), Hashing.hashcode(Math.PI));

        assertEquals(new Float(Math.E).hashCode(), Hashing.hashcode((float) Math.E));
        assertEquals(new Float(Math.PI).hashCode(), Hashing.hashcode((float) Math.PI));

        assertEquals(new Double(Math.E).hashCode(), Hashing.hashcode(new Double(Math.E)));
        assertEquals(0, Hashing.hashcode(null));

        assertEquals(Long.valueOf(-1).hashCode(), Hashing.hashcode(-1L));

        assertEquals(-1, Hashing.hashcode((short) -1));
    }