From a72c3844450381a872e4f0f149210e480679984a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 24 三月 2026 16:57:24 +0800
Subject: [PATCH] refactor: unify station out-order reroute flow
---
src/test/java/com/zy/core/utils/StationOperateProcessUtilsReroutePipelineTest.java | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/src/test/java/com/zy/core/utils/StationOperateProcessUtilsReroutePipelineTest.java b/src/test/java/com/zy/core/utils/StationOperateProcessUtilsReroutePipelineTest.java
index 690c13f..e24c92d 100644
--- a/src/test/java/com/zy/core/utils/StationOperateProcessUtilsReroutePipelineTest.java
+++ b/src/test/java/com/zy/core/utils/StationOperateProcessUtilsReroutePipelineTest.java
@@ -104,6 +104,39 @@
assertEquals("buffer-has-current-task", result.skipReason());
}
+ @Test
+ void outOrderAndWatchCircle_shareDecisionFlow() {
+ StationOperateProcessUtils utils = new StationOperateProcessUtils();
+ WrkMast wrkMast = buildWrkMast(100, 20);
+
+ StationOperateProcessUtils.RerouteContext outOrderContext = StationOperateProcessUtils.RerouteContext.create(
+ StationOperateProcessUtils.RerouteSceneType.OUT_ORDER,
+ buildBasDevp(1),
+ mock(StationThread.class),
+ buildStationProtocol(10, 100, 10),
+ wrkMast,
+ Collections.emptyList(),
+ 0.0d,
+ "checkStationOutOrder"
+ );
+ StationOperateProcessUtils.RerouteContext watchCircleContext = StationOperateProcessUtils.RerouteContext.create(
+ StationOperateProcessUtils.RerouteSceneType.WATCH_CIRCLE,
+ buildBasDevp(1),
+ mock(StationThread.class),
+ buildStationProtocol(10, 100, 10),
+ wrkMast,
+ Collections.emptyList(),
+ 0.0d,
+ "watchCircleStation"
+ );
+
+ StationOperateProcessUtils.RerouteDecision outOrderDecision = utils.resolveSharedRerouteDecision(outOrderContext);
+ StationOperateProcessUtils.RerouteDecision watchCircleDecision = utils.resolveSharedRerouteDecision(watchCircleContext);
+
+ assertEquals(20, outOrderDecision.targetStationId());
+ assertEquals(20, watchCircleDecision.targetStationId());
+ }
+
private static BasDevp buildBasDevp(int devpNo) {
BasDevp basDevp = new BasDevp();
basDevp.setDevpNo(devpNo);
--
Gitblit v1.9.1