From 1699cafdfb76f354882ee5e6142e1b024de32c64 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 27 四月 2026 13:03:18 +0800
Subject: [PATCH] fix: stop labeling undirected topology as directional

---
 src/test/java/com/zy/ai/service/FlowTopologySnapshotServiceImplTest.java |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/test/java/com/zy/ai/service/FlowTopologySnapshotServiceImplTest.java b/src/test/java/com/zy/ai/service/FlowTopologySnapshotServiceImplTest.java
index 811fb52..02b6565 100644
--- a/src/test/java/com/zy/ai/service/FlowTopologySnapshotServiceImplTest.java
+++ b/src/test/java/com/zy/ai/service/FlowTopologySnapshotServiceImplTest.java
@@ -31,12 +31,33 @@
 
         assertEquals(101, item.getTargetStationId());
         assertEquals("OUT", item.getDirection());
-        assertEquals(Arrays.asList(102, 103), item.getUpstreamStationIds());
-        assertEquals(Arrays.asList(102, 103), item.getDownstreamStationIds());
+        assertEquals(Arrays.asList(102, 103), item.getAdjacentStationIds());
+        assertEquals(Arrays.asList(), item.getUpstreamStationIds());
+        assertEquals(Arrays.asList(), item.getDownstreamStationIds());
         assertEquals(Arrays.asList(101, 102, 103), item.getFlowStationIds());
     }
 
     @Test
+    void undirectedGraphOnlyPopulatesAdjacentAndFlowStations() {
+        FlowTopologySnapshotServiceImpl service = new FlowTopologySnapshotServiceImpl();
+        StationFlowCapacity capacity = capacity(201, "IN", 4);
+        Map<Integer, List<Integer>> adjacency = new LinkedHashMap<>();
+        adjacency.put(201, Arrays.asList(203, 202));
+
+        AutoTuneFlowTopologyItem item = service.buildTopologyItem(
+                capacity,
+                adjacency,
+                Arrays.asList(runtime(202, 1, 1, 0), runtime(203, 1, 0, 8001))
+        );
+
+        assertEquals(Arrays.asList(202, 203), item.getAdjacentStationIds());
+        assertEquals(Arrays.asList(), item.getUpstreamStationIds());
+        assertEquals(Arrays.asList(), item.getDownstreamStationIds());
+        assertEquals(Arrays.asList(201, 202, 203), item.getFlowStationIds());
+        assertEquals(2, item.getOccupiedCount());
+    }
+
+    @Test
     void calculateRuntimeCountsUsesOnlyAutoingLoadingAndTaskNo() {
         FlowTopologySnapshotServiceImpl service = new FlowTopologySnapshotServiceImpl();
         List<AutoTuneStationRuntimeItem> runtimeItems = Arrays.asList(

--
Gitblit v1.9.1