TsFillerAsProvider implements ITsProvider { @NonNull public static ITsProvider of(@NonNull String providerName, @NonNull TsAsyncMode asyncMode, @NonNull TsFiller filler) { return of(providerName, asyncMode, filler, NO_CACHE); } private  TsFillerAsProvider(String providerName, Runnable cacheCleaner); @NonNull static ITsProvider of(@NonNull String providerName, @NonNull TsAsyncMode asyncMode, @NonNull TsFiller filler); @NonNull static ITsProvider of(@NonNull String providerName, @NonNull TsAsyncMode asyncMode, @NonNull TsFiller filler, @NonNull Runnable cacheCleaner); @Override String getSource(); @Override void clearCache();  }
@Test @SuppressWarnings("null") public void testFactories() { assertThatThrownBy(() -> TsFillerAsProvider.of(null, TsAsyncMode.None, TsFiller.noOp())).isInstanceOf(NullPointerException.class); assertThatThrownBy(() -> TsFillerAsProvider.of("provider", null, TsFiller.noOp())).isInstanceOf(NullPointerException.class); assertThatThrownBy(() -> TsFillerAsProvider.of("provider", TsAsyncMode.None, null)).isInstanceOf(NullPointerException.class); assertThatThrownBy(() -> TsFillerAsProvider.of(null, TsAsyncMode.None, TsFiller.noOp(), doNothing)).isInstanceOf(NullPointerException.class); assertThatThrownBy(() -> TsFillerAsProvider.of("provider", null, TsFiller.noOp(), doNothing)).isInstanceOf(NullPointerException.class); assertThatThrownBy(() -> TsFillerAsProvider.of("provider", TsAsyncMode.None, null, doNothing)).isInstanceOf(NullPointerException.class); assertThatThrownBy(() -> TsFillerAsProvider.of("provider", TsAsyncMode.None, TsFiller.noOp(), null)).isInstanceOf(NullPointerException.class); }