@Test
  public void hashCodeOfFloat() {
    assertThat(Objects.hashCode(0.0f)).isEqualTo(0);
    assertThat(Objects.hashCode(-0.0f)).isEqualTo(-2147483648);
    assertThat(Objects.hashCode(1.0f)).isEqualTo(1065353216);
    assertThat(Objects.hashCode(-1.0f)).isEqualTo(-1082130432);
    assertThat(Objects.hashCode(Float.MAX_VALUE)).isEqualTo(2139095039);
    assertThat(Objects.hashCode(Float.MAX_VALUE * -1)).isEqualTo(-8388609);
    assertThat(Objects.hashCode(Float.MIN_VALUE)).isEqualTo(1);
    assertThat(Objects.hashCode(Float.POSITIVE_INFINITY)).isEqualTo(2139095040);
    assertThat(Objects.hashCode(Float.NEGATIVE_INFINITY)).isEqualTo(-8388608);
    assertThat(Objects.hashCode(Float.MIN_NORMAL)).isEqualTo(8388608);
    assertThat(Objects.hashCode(Float.NaN)).isEqualTo(2143289344);
  }
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