### Question:
IsFiniteFunc { @UserFunction("gds.util.isFinite") @Description("RETURN gds.util.isFinite(value) - Return true iff the given argument is a finite value (not ±Infinity, NaN, or null).") public boolean isFinite(@Name(value = "value") Number value) { return value != null && Double.isFinite(value.doubleValue()); }  @UserFunction("gds.util.isFinite") @Description("RETURN gds.util.isFinite(value) - Return true iff the given argument is a finite value (not ±Infinity, NaN, or null).") boolean isFinite(@Name(value = "value") Number value); @UserFunction("gds.util.isInfinite") @Description("RETURN gds.util.isInfinite(value) - Return true iff the given argument is not a finite value (not ±Infinity, NaN, or null).") boolean isInfinite(@Name(value = "value") Number value); @UserFunction("gds.util.infinity") @Description("RETURN gds.util.infinity() - Return infinity as a Cypher value.") double Infinity(); @UserFunction("gds.util.NaN") @Description("RETURN gds.util.NaN() - Returns NaN as a Cypher value.") double NaN();  }### Answer:
@Test void isFinite() { assertFalse(callIsFinite(null)); assertFalse(callIsFinite(Double.NaN)); assertFalse(callIsFinite(Double.POSITIVE_INFINITY)); assertFalse(callIsFinite(Double.NEGATIVE_INFINITY)); assertFalse(callIsFinite(Float.NaN)); assertFalse(callIsFinite(Float.POSITIVE_INFINITY)); assertFalse(callIsFinite(Float.NEGATIVE_INFINITY)); assertTrue(callIsFinite(0L)); assertTrue(callIsFinite(42.1337)); assertTrue(callIsFinite(Double.MAX_VALUE)); assertTrue(callIsFinite(Double.MIN_VALUE)); assertTrue(callIsFinite(Long.MAX_VALUE)); assertTrue(callIsFinite(Long.MIN_VALUE)); }