### Question:
AbstractLifecycle implements Lifecycle<T> { @Override public final void stop(final T context) { if (!tryChangeState(State.STARTED, State.STOPPING)) { return; } try { doStop(context); } catch (final Throwable t) { changeState(State.STOPPING, State.STOPPED); LOGGER.warn("Failed to stop '{}'", this, t); throw new LifecycleException("Failed to stop lifecycle", t); } changeState(State.STOPPING, State.STOPPED); } protected  AbstractLifecycle(); @Override final boolean isRunning(); @Override final void start(final T context); @Override final void stop(final T context);  }### Answer:
@Test public void stopTest() { @SuppressWarnings("unchecked") final AbstractLifecycle<Integer> lifecycle = createMockBuilder(AbstractLifecycle.class).withConstructor().createStrictMock(); replay(lifecycle); lifecycle.stop(1); verify(lifecycle); assertFalse(lifecycle.isRunning()); }