### Question:
AbstractProctorLoader extends DataLoadingTimerTask implements Supplier<Proctor> { @Override public boolean load() { final Proctor newProctor; try { newProctor = doLoad(); } catch (@Nonnull final Throwable t) { reportFailed(t); lastLoadErrorMessage = t.getMessage(); throw new RuntimeException("Unable to reload proctor from " + getSource(), t); } lastLoadErrorMessage = null; if (newProctor == null) { reportNoChange(); return true; } reportReloaded(current, newProctor); current = newProctor; final Audit lastAudit = Preconditions.checkNotNull(this.lastAudit, "Missing last audit"); setDataVersion(lastAudit.getVersion() + " @ " + lastAudit.getUpdated() + " by " + lastAudit.getUpdatedBy()); LOGGER.info("Successfully loaded new test matrix definition: " + lastAudit.getVersion() + " @ " + lastAudit.getUpdated() + " by " + lastAudit.getUpdatedBy()); return true; } 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 testLoaderLoadException() { final RuntimeException exceptionStub = new RuntimeException("test exception"); final TestProctorLoader loader = new TestProctorLoader(dataLoaderTimerMock) { @Nullable @Override public Proctor doLoad() { throw exceptionStub; } }; try { loader.load(); fail("Expected RTE"); } catch (final RuntimeException rte) { assertEquals(exceptionStub, rte.getCause()); } }