### Question:
CronTimeEvaluator extends EvaluatorExecutor { @Override public void setContext(EvaluatorContext context) { clusterId = (long) context.getData(); }  @Override void setContext(EvaluatorContext context); @Override @Nonnull EvaluatorContext getContext(); @Override String getName(); @Override void execute(); void publishIfNeeded(Map<TimeAlert, ZonedDateTime> alerts);  }### Answer:
@Test public void testRunCallsFinished() { underTest.setContext(new ClusterIdEvaluatorContext(CLUSTER_ID)); when(clusterService.findById(anyLong())).thenThrow(new RuntimeException("exception from the test")); try { underTest.run(); fail("expected runtimeException"); } catch (RuntimeException e) { assertEquals("exception from the test", e.getMessage()); } verify(executorServiceWithRegistry).finished(underTest, CLUSTER_ID); }