@Test
  public void hashCodeOfInt64() {
    assertThat(Objects.hashCode(0L)).isEqualTo(0);
    assertThat(Objects.hashCode(1L)).isEqualTo(1);
    assertThat(Objects.hashCode(-1L)).isEqualTo(0);
    assertThat(Objects.hashCode((long) Integer.MAX_VALUE)).isEqualTo(2147483647);
    assertThat(Objects.hashCode((long) Integer.MIN_VALUE)).isEqualTo(2147483647);
    assertThat(Objects.hashCode(((long) Integer.MAX_VALUE) + 1)).isEqualTo(-2147483648);
    assertThat(Objects.hashCode(((long) Integer.MIN_VALUE) - 1)).isEqualTo(-2147483648);
    assertThat(Objects.hashCode(Long.MAX_VALUE)).isEqualTo(-2147483648);
    assertThat(Objects.hashCode(Long.MIN_VALUE)).isEqualTo(-2147483648);
    assertThat(Objects.hashCode(Long.MAX_VALUE >> 1)).isEqualTo(-1073741824);
    assertThat(Objects.hashCode(Long.MIN_VALUE >> 1)).isEqualTo(-1073741824);
    assertThat(Objects.hashCode(Long.MAX_VALUE >> 2)).isEqualTo(-536870912);
    assertThat(Objects.hashCode(Long.MIN_VALUE >> 2)).isEqualTo(-536870912);
    assertThat(Objects.hashCode(-9223372034707292160L)).isEqualTo(0);

    assertThat(Objects.hashCode(1577836800000L)).isEqualTo(1583802735);

  }
The test serves two purposes:
<p>
Since Geode hashes rely heavily on the Java implementation hashes. If those were to differ
between version it could pose difficulties in routing or finding keys on the correct servers.
<p>
It also serves as a comparison for hashing in other languages that need to match the Java hash
algorithm for specific types.
geode-core/src/test/java/org/apache/geode/cache/util/ObjectsTest.java