@Test
  public void isAssignableFromShouldWorkProperlyForKnownTypes() {
    // Booleans
    assertThat(TypeUtils.isAssignableFrom(Boolean.class, Comparable.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(Boolean.class, Comparable.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(AtomicBoolean.class, Comparable.class)).isFalse();

    // Dates supported by the TemporalComparator
    assertThat(TypeUtils.isAssignableFrom(Date.class, Date.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(Long.class, Date.class)).isFalse();
    assertThat(TypeUtils.isAssignableFrom(java.sql.Date.class, Date.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(java.sql.Time.class, Date.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(java.sql.Timestamp.class, Date.class)).isTrue();

    // Numbers supported by the NumericComparator
    assertThat(TypeUtils.isAssignableFrom(Short.class, Number.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(Long.class, Number.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(Float.class, Number.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(Double.class, Number.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(BigDecimal.class, Number.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(Integer.class, Number.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(BigInteger.class, Number.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(AtomicInteger.class, Number.class)).isTrue();

    // Comparable Interface
    assertThat(TypeUtils.isAssignableFrom(PdxString.class, Comparable.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(Long.class, Comparable.class)).isTrue();
    assertThat(TypeUtils.isAssignableFrom(Integer.class, Comparable.class)).isTrue();
  }
Can't test every possible combination so try the known, relevant ones.
geode-core/src/test/java/org/apache/geode/cache/query/internal/types/TypeUtilsJUnitTest.java