MemoizationDefaults { public static Supplier<String> defaultKeySupplier() { return () -> "SUPPLIED"; } private  MemoizationDefaults(); static Supplier<String> defaultKeySupplier(); static BiFunction<T, U, String> hashCodeKeyFunction(); static ObjDoubleFunction<INPUT, String> objDoubleConsumerHashCodeKeyFunction(); static ObjIntFunction<INPUT, String> objIntConsumerHashCodeKeyFunction(); static ObjLongFunction<INPUT, String> objLongConsumerHashCodeKeyFunction(); static DoubleBinaryFunction<String> doubleBinaryOperatorHashCodeKeyFunction(); static IntBinaryFunction<String> intBinaryOperatorHashCodeKeyFunction(); static LongBinaryFunction<String> longBinaryOperatorHashCodeKeyFunction();  }
@Test public void shouldDefineDefaultKeySupplier() { Supplier<String> keySupplier; keySupplier = MemoizationDefaults.defaultKeySupplier(); Assert.assertNotNull("Default key supplier is NULL", keySupplier); }
@Test public void shouldDefineDefaultKey() { final Supplier<String> keySupplier = MemoizationDefaults.defaultKeySupplier(); final String defaultSuppliedKey = keySupplier.get(); Assert.assertNotNull("Default supplied key is NULL", defaultSuppliedKey); Assert.assertEquals("Default supplied key does not match expectations", "SUPPLIED", defaultSuppliedKey); }