From 058d7bbb714634e42bff1dd71fdfca3a378421d3 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 31 三月 2026 20:50:50 +0800
Subject: [PATCH] #
---
src/test/java/com/zy/core/thread/impl/station/StationSegmentExecutorTest.java | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/src/test/java/com/zy/core/thread/impl/station/StationSegmentExecutorTest.java b/src/test/java/com/zy/core/thread/impl/station/StationSegmentExecutorTest.java
index abb018b..8722170 100644
--- a/src/test/java/com/zy/core/thread/impl/station/StationSegmentExecutorTest.java
+++ b/src/test/java/com/zy/core/thread/impl/station/StationSegmentExecutorTest.java
@@ -14,9 +14,11 @@
import org.springframework.context.ApplicationContext;
import org.springframework.test.util.ReflectionTestUtils;
+import java.util.List;
import java.util.function.Function;
import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
@@ -26,6 +28,37 @@
class StationSegmentExecutorTest {
@Test
+ void resolveCurrentPathIndex_prefersForwardOccurrenceForLoopRevisitStations() {
+ StationSegmentExecutor executor = new StationSegmentExecutor(new DeviceConfig(), mock(RedisUtil.class), command -> null);
+
+ Integer second121Index = ReflectionTestUtils.invokeMethod(
+ executor,
+ "resolveCurrentPathIndex",
+ List.of(121, 124, 186, 189, 121, 124, 125, 127),
+ 121,
+ 3
+ );
+ Integer second124Index = ReflectionTestUtils.invokeMethod(
+ executor,
+ "resolveCurrentPathIndex",
+ List.of(121, 124, 186, 189, 121, 124, 125, 127),
+ 124,
+ 4
+ );
+ Integer same124Index = ReflectionTestUtils.invokeMethod(
+ executor,
+ "resolveCurrentPathIndex",
+ List.of(121, 124, 186, 189, 121, 124, 125, 127),
+ 124,
+ 5
+ );
+
+ assertEquals(Integer.valueOf(4), second121Index);
+ assertEquals(Integer.valueOf(5), second124Index);
+ assertEquals(Integer.valueOf(5), same124Index);
+ }
+
+ @Test
void sendSegmentWithRetry_skipsWhenRouteIsCancelPending() {
ApplicationContext applicationContext = mock(ApplicationContext.class);
StationMoveCoordinator coordinator = new StationMoveCoordinator();
--
Gitblit v1.9.1