### Question:
Suppliers { public static <T> Supplier<T> singleton( final T instance ) { return () -> instance; } private  Suppliers(); static Supplier<T> singleton( final T instance ); static Lazy<T> lazySingleton( final Supplier<T> supplier ); static Supplier<T> adapted( final Supplier<V> supplier, final Function<V,T> adaptor ); static ThrowingCapturingSupplier<T,E> compose(
            final ThrowingSupplier<T,? extends E> input,
            final ThrowingPredicate<T,? extends E> predicate ); static BooleanSupplier untilTimeExpired( long duration, TimeUnit unit );  }### Answer:
@Test void singletonSupplierShouldAlwaysReturnSame() { Object o = new Object(); Supplier<Object> supplier = Suppliers.singleton( o ); assertThat( supplier.get(), sameInstance( o ) ); assertThat( supplier.get(), sameInstance( o ) ); assertThat( supplier.get(), sameInstance( o ) ); }