### Question:
PollingWaitAssistant { public PollingWaitState getPollingWaitState() { if (!started) { return PollingWaitState.NOT_STARTED; } if ( Time.currentTimeMillis() - startTime > timeoutInMilliSeconds) { return PollingWaitState.TIMEOUT; } if (!spamChecker.isWaitLongEnough()) { spamChecker.incrementSpamCheck(); if (spamChecker.isSpammed()) { return PollingWaitState.SPAMMED; } return PollingWaitState.TOO_EARLY; } if (finishFutureEvent.isDone()) { return PollingWaitState.COMPLETE; } return PollingWaitState.WAITING; } PollingWaitAssistant(final long timeoutInMilliSeconds, final long shortTimeout, final long medTimeout,
                                final long longTimeout);  PollingWaitAssistant(final long timeoutInMilliSeconds); void start(Future<?> finishFutureEvent); PollingWaitState getPollingWaitState(); long getWaitPeriod(); void resetWait();  }### Answer:
@Test public void checkThatNotStartedStateIsReturnedWhenAppropriate() { PollingWaitAssistant assistant = new PollingWaitAssistant(TIMEOUT, SHORT_POLL, MEDIUM_POLL, LONG_POLL); assertThat(assistant.getPollingWaitState()).isEqualTo(PollingWaitAssistant.PollingWaitState.NOT_STARTED); }