package com.zy.core.thread.support;
|
|
import org.junit.jupiter.api.Test;
|
|
import java.util.concurrent.atomic.AtomicLong;
|
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
class RecentStationArrivalTrackerTest {
|
|
@Test
|
void hasRecentArrival_returnsTrueOnlyWithinRetentionWindow() {
|
AtomicLong now = new AtomicLong(1_000L);
|
RecentStationArrivalTracker tracker = new RecentStationArrivalTracker(1_000L, now::get);
|
|
tracker.record(12, 1001);
|
|
assertTrue(tracker.hasRecentArrival(12, 1001));
|
|
now.addAndGet(1_001L);
|
|
assertFalse(tracker.hasRecentArrival(12, 1001));
|
}
|
}
|