### Question:
AbstractProctorLoader extends DataLoadingTimerTask implements Supplier<Proctor> { public boolean isLoadedDataSuccessfullyRecently() { return dataLoadTimer.isLoadedDataSuccessfullyRecently(); } AbstractProctorLoader(
            @Nonnull final Class<?> cls,
            @Nonnull final ProctorSpecification specification,
            @Nonnull final FunctionMapper functionMapper
    ); @Override boolean load(); @CheckForNull Proctor doLoad(); @CheckForNull Proctor get(); @CheckForNull @Export(name = "last-audit") Audit getLastAudit(); @CheckForNull @Export(name = "last-error", doc = "The last error message thrown by the loader. null indicates a successful load.") String getLastLoadErrorMessage(); boolean isLoadedDataSuccessfullyRecently(); @SuppressWarnings({"UnusedDeclaration"}) @Deprecated void setDiffReporter(@Nonnull final AbstractProctorDiffReporter diffReporter); void addLoadReporter(@Nonnull final ProctorLoadReporter diffReporter); void addLoadReporter(@Nonnull final List<ProctorLoadReporter> newReporters);  }### Answer:
@Test public void testLoaderTimerFunctionsNoLoad() { expect(dataLoaderTimerMock.getSecondsSinceLastLoadCheck()) .andReturn(null) .once(); expect(dataLoaderTimerMock.isLoadedDataSuccessfullyRecently()) .andReturn(false) .once(); replay(dataLoaderTimerMock); final TestProctorLoader loader = createTestProctorLoader(dataLoaderTimerMock); assertNull(loader.getSecondsSinceLastLoadCheck()); assertFalse(loader.isLoadedDataSuccessfullyRecently()); }
@Test public void testLoaderTimerFunctionsLoadSuccess() { expect(dataLoaderTimerMock.isLoadedDataSuccessfullyRecently()) .andReturn(true) .once(); expect(dataLoaderTimerMock.getSecondsSinceLastLoadCheck()) .andReturn(42) .once(); replay(dataLoaderTimerMock); final TestProctorLoader loader = createTestProctorLoader(dataLoaderTimerMock); assertEquals(42, (int) loader.getSecondsSinceLastLoadCheck()); assertTrue(loader.isLoadedDataSuccessfullyRecently()); }