diff --git a/task/src/main/java/org/aero/common/task/counter/CounterImpl.java b/task/src/main/java/org/aero/common/task/counter/CounterImpl.java index 09ef6ee..154ae0d 100644 --- a/task/src/main/java/org/aero/common/task/counter/CounterImpl.java +++ b/task/src/main/java/org/aero/common/task/counter/CounterImpl.java @@ -206,13 +206,17 @@ private boolean condition() { return true; } - private void tick() { - if (this.step * (this.step - this.runnable.count() + this.stopCount) > 0) { + private void tick(final boolean result) { + if (this.status != CounterStatus.RUNNING) { + return; + } + + if (result) { return; } - this.handleFinish(); this.cancel(null); + this.handleFinish(); } static final class BuilderImpl implements Counter.Builder { diff --git a/task/src/test/java/org/aero/common/task/counter/CounterTest.java b/task/src/test/java/org/aero/common/task/counter/CounterTest.java index 4aa50f1..23950e8 100644 --- a/task/src/test/java/org/aero/common/task/counter/CounterTest.java +++ b/task/src/test/java/org/aero/common/task/counter/CounterTest.java @@ -184,7 +184,6 @@ void testTickCallback(final Counter.Builder counterBuilder) throws InterruptedEx Thread.sleep(expectedTimeNeeded(counter)); counter.stop(); final var ticks = ticksToFinish(counter); - System.out.println(ticks); assertEquals(ticks, indicator.get(), "The Counter should have ticked from startCount to stopCount"); }