From 0f3ab894bc594f57f60efba404af5ae999fd58d2 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 01 四月 2026 09:47:11 +0800
Subject: [PATCH] #Test fix
---
src/test/java/com/zy/asrs/task/WrkAnalysisStationArrivalScannerTest.java | 193 +++++++++--------------------------------------
src/test/java/com/zy/asrs/service/impl/WrkAnalysisServiceImplTest.java | 2
2 files changed, 40 insertions(+), 155 deletions(-)
diff --git a/src/test/java/com/zy/asrs/service/impl/WrkAnalysisServiceImplTest.java b/src/test/java/com/zy/asrs/service/impl/WrkAnalysisServiceImplTest.java
index 1460a51..aec6435 100644
--- a/src/test/java/com/zy/asrs/service/impl/WrkAnalysisServiceImplTest.java
+++ b/src/test/java/com/zy/asrs/service/impl/WrkAnalysisServiceImplTest.java
@@ -4,6 +4,7 @@
import com.zy.asrs.service.BasCrnpErrLogService;
import com.zy.asrs.service.BasDualCrnpErrLogService;
import com.zy.asrs.service.BasRgvErrLogService;
+import com.zy.asrs.service.BasStationErrLogService;
import com.zy.asrs.service.BasStationService;
import com.zy.asrs.service.BasWrkStatusService;
import com.zy.asrs.service.WrkMastLogService;
@@ -33,6 +34,7 @@
mock(BasCrnpErrLogService.class),
mock(BasDualCrnpErrLogService.class),
mock(BasRgvErrLogService.class),
+ mock(BasStationErrLogService.class),
mock(BasStationService.class),
basWrkStatusService,
mock(WrkMastService.class)
diff --git a/src/test/java/com/zy/asrs/task/WrkAnalysisStationArrivalScannerTest.java b/src/test/java/com/zy/asrs/task/WrkAnalysisStationArrivalScannerTest.java
index 0415228..95f7e18 100644
--- a/src/test/java/com/zy/asrs/task/WrkAnalysisStationArrivalScannerTest.java
+++ b/src/test/java/com/zy/asrs/task/WrkAnalysisStationArrivalScannerTest.java
@@ -2,29 +2,21 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zy.asrs.entity.BasStation;
-import com.zy.asrs.entity.BasCrnp;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.BasStationService;
-import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.WrkAnalysisService;
import com.zy.asrs.service.WrkMastService;
-import com.zy.common.entity.FindCrnNoResult;
-import com.zy.common.service.CommonService;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.enums.StationCommandType;
import com.zy.core.enums.WrkStsType;
-import com.zy.core.move.StationMoveCoordinator;
-import com.zy.core.move.StationMoveSession;
import com.zy.core.model.CommandResponse;
import com.zy.core.model.command.StationCommand;
import com.zy.core.model.protocol.StationProtocol;
import com.zy.core.thread.StationThread;
-import com.zy.core.utils.CrnOperateProcessUtils;
import com.zy.core.utils.StationOperateProcessUtils;
import org.junit.jupiter.api.Test;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
@@ -45,31 +37,16 @@
BasStationService basStationService = mock(BasStationService.class);
WrkAnalysisService wrkAnalysisService = mock(WrkAnalysisService.class);
StationOperateProcessUtils stationOperateProcessUtils = mock(StationOperateProcessUtils.class);
- StationMoveCoordinator stationMoveCoordinator = mock(StationMoveCoordinator.class);
- CommonService commonService = mock(CommonService.class);
- BasCrnpService basCrnpService = mock(BasCrnpService.class);
- CrnOperateProcessUtils crnOperateProcessUtils = mock(CrnOperateProcessUtils.class);
WrkAnalysisStationArrivalScanner scanner = new WrkAnalysisStationArrivalScanner(
wrkMastService,
basStationService,
wrkAnalysisService,
- stationOperateProcessUtils,
- stationMoveCoordinator,
- commonService,
- basCrnpService,
- crnOperateProcessUtils
+ stationOperateProcessUtils
);
- WrkMast wrkMast = new WrkMast();
- wrkMast.setWrkNo(1001);
- wrkMast.setIoType(1);
- wrkMast.setWrkSts(WrkStsType.INBOUND_STATION_RUN.sts);
- wrkMast.setStaNo(12);
-
- BasStation basStation = new BasStation();
- basStation.setStationId(12);
- basStation.setDeviceNo(3);
+ WrkMast wrkMast = inboundWrkMast(1001, 12);
+ BasStation basStation = station(12, 3);
when(wrkMastService.list(any(QueryWrapper.class))).thenReturn(List.of(wrkMast));
when(basStationService.getOne(any())).thenReturn(basStation);
@@ -93,208 +70,114 @@
}
@Test
- void scanInboundStationArrival_dispatchesCrnMoveWhenOnlyFinalInletStationRemains() {
+ void scanInboundStationArrival_completesTaskWhenProtocolMatchesCurrentTask() {
WrkMastService wrkMastService = mock(WrkMastService.class);
BasStationService basStationService = mock(BasStationService.class);
WrkAnalysisService wrkAnalysisService = mock(WrkAnalysisService.class);
StationOperateProcessUtils stationOperateProcessUtils = mock(StationOperateProcessUtils.class);
- StationMoveCoordinator stationMoveCoordinator = mock(StationMoveCoordinator.class);
- CommonService commonService = mock(CommonService.class);
- BasCrnpService basCrnpService = mock(BasCrnpService.class);
- CrnOperateProcessUtils crnOperateProcessUtils = mock(CrnOperateProcessUtils.class);
WrkAnalysisStationArrivalScanner scanner = new WrkAnalysisStationArrivalScanner(
wrkMastService,
basStationService,
wrkAnalysisService,
- stationOperateProcessUtils,
- stationMoveCoordinator,
- commonService,
- basCrnpService,
- crnOperateProcessUtils
+ stationOperateProcessUtils
);
- WrkMast wrkMast = new WrkMast();
- wrkMast.setWrkNo(1002);
- wrkMast.setIoType(1);
- wrkMast.setWrkSts(WrkStsType.INBOUND_STATION_RUN.sts);
- wrkMast.setStaNo(12);
- wrkMast.setLocNo("5-6-7");
-
- BasStation basStation = new BasStation();
- basStation.setStationId(12);
- basStation.setDeviceNo(3);
-
- StationMoveSession session = new StationMoveSession();
- session.setStatus(StationMoveSession.STATUS_RUNNING);
- session.setCurrentStationId(11);
- session.setFullPathStationIds(new ArrayList<>(List.of(10, 11, 12)));
-
- FindCrnNoResult findCrnNoResult = new FindCrnNoResult();
- findCrnNoResult.setCrnNo(1);
- findCrnNoResult.setCrnType(SlaveType.Crn);
-
- BasCrnp basCrnp = new BasCrnp();
- basCrnp.setCrnNo(1);
- basCrnp.setInStationList("[{\"stationId\":12,\"deviceRow\":2,\"deviceBay\":1,\"deviceLev\":1}]");
+ WrkMast wrkMast = inboundWrkMast(1002, 15);
+ BasStation basStation = station(15, 5);
when(wrkMastService.list(any(QueryWrapper.class))).thenReturn(List.of(wrkMast));
when(basStationService.getOne(any())).thenReturn(basStation);
- when(stationMoveCoordinator.loadSession(1002)).thenReturn(session);
- when(commonService.findCrnNoByLocNo("5-6-7")).thenReturn(findCrnNoResult);
- when(basCrnpService.getOne(any())).thenReturn(basCrnp);
- when(crnOperateProcessUtils.dispatchCrnMove(1, "2-1-1")).thenReturn(true);
+ when(wrkAnalysisService.completeInboundStationRun(any(WrkMast.class), any(Date.class))).thenReturn(true);
ArrivalAwareStationThread stationThread = new ArrivalAwareStationThread(false);
StationProtocol stationProtocol = new StationProtocol();
- stationProtocol.setStationId(12);
- stationProtocol.setTaskNo(0);
- stationProtocol.setLoading(false);
+ stationProtocol.setStationId(15);
+ stationProtocol.setTaskNo(1002);
+ stationProtocol.setLoading(true);
stationThread.putStatus(stationProtocol);
- SlaveConnection.put(SlaveType.Devp, 3, stationThread);
+ SlaveConnection.put(SlaveType.Devp, 5, stationThread);
try {
scanner.scanInboundStationArrival();
} finally {
- SlaveConnection.remove(SlaveType.Devp, 3);
+ SlaveConnection.remove(SlaveType.Devp, 5);
}
- verify(crnOperateProcessUtils).dispatchCrnMove(1, "2-1-1");
- verify(wrkAnalysisService, never()).completeInboundStationRun(any(WrkMast.class), any(Date.class));
+ verify(wrkAnalysisService).completeInboundStationRun(any(WrkMast.class), any(Date.class));
}
@Test
- void scanInboundStationArrival_skipsCrnMoveWhenTargetInletHasLoadTaskAndInEnable() {
+ void scanInboundStationArrival_skipsWhenArrivalWasNotObserved() {
WrkMastService wrkMastService = mock(WrkMastService.class);
BasStationService basStationService = mock(BasStationService.class);
WrkAnalysisService wrkAnalysisService = mock(WrkAnalysisService.class);
StationOperateProcessUtils stationOperateProcessUtils = mock(StationOperateProcessUtils.class);
- StationMoveCoordinator stationMoveCoordinator = mock(StationMoveCoordinator.class);
- CommonService commonService = mock(CommonService.class);
- BasCrnpService basCrnpService = mock(BasCrnpService.class);
- CrnOperateProcessUtils crnOperateProcessUtils = mock(CrnOperateProcessUtils.class);
WrkAnalysisStationArrivalScanner scanner = new WrkAnalysisStationArrivalScanner(
wrkMastService,
basStationService,
wrkAnalysisService,
- stationOperateProcessUtils,
- stationMoveCoordinator,
- commonService,
- basCrnpService,
- crnOperateProcessUtils
+ stationOperateProcessUtils
);
- WrkMast wrkMast = new WrkMast();
- wrkMast.setWrkNo(1003);
- wrkMast.setIoType(1);
- wrkMast.setWrkSts(WrkStsType.INBOUND_STATION_RUN.sts);
- wrkMast.setStaNo(12);
- wrkMast.setLocNo("5-6-7");
-
- BasStation basStation = new BasStation();
- basStation.setStationId(12);
- basStation.setDeviceNo(3);
-
- StationMoveSession session = new StationMoveSession();
- session.setStatus(StationMoveSession.STATUS_RUNNING);
- session.setCurrentStationId(11);
- session.setFullPathStationIds(new ArrayList<>(List.of(10, 11, 12)));
+ WrkMast wrkMast = inboundWrkMast(1003, 18);
+ BasStation basStation = station(18, 8);
when(wrkMastService.list(any(QueryWrapper.class))).thenReturn(List.of(wrkMast));
when(basStationService.getOne(any())).thenReturn(basStation);
- when(stationMoveCoordinator.loadSession(1003)).thenReturn(session);
ArrivalAwareStationThread stationThread = new ArrivalAwareStationThread(false);
StationProtocol stationProtocol = new StationProtocol();
- stationProtocol.setStationId(12);
+ stationProtocol.setStationId(18);
stationProtocol.setTaskNo(9999);
stationProtocol.setLoading(true);
- stationProtocol.setInEnable(true);
stationThread.putStatus(stationProtocol);
- SlaveConnection.put(SlaveType.Devp, 3, stationThread);
+ SlaveConnection.put(SlaveType.Devp, 8, stationThread);
try {
scanner.scanInboundStationArrival();
} finally {
- SlaveConnection.remove(SlaveType.Devp, 3);
+ SlaveConnection.remove(SlaveType.Devp, 8);
}
- verify(crnOperateProcessUtils, never()).dispatchCrnMove(any(), any());
- verify(commonService, never()).findCrnNoByLocNo(any());
verify(wrkAnalysisService, never()).completeInboundStationRun(any(WrkMast.class), any(Date.class));
}
@Test
- void scanInboundStationArrival_dispatchesCrnMoveWhenTargetInletOnlyHasLoad() {
+ void scanOutboundStationFlow_triggersStationOperateProcessSteps() {
WrkMastService wrkMastService = mock(WrkMastService.class);
BasStationService basStationService = mock(BasStationService.class);
WrkAnalysisService wrkAnalysisService = mock(WrkAnalysisService.class);
StationOperateProcessUtils stationOperateProcessUtils = mock(StationOperateProcessUtils.class);
- StationMoveCoordinator stationMoveCoordinator = mock(StationMoveCoordinator.class);
- CommonService commonService = mock(CommonService.class);
- BasCrnpService basCrnpService = mock(BasCrnpService.class);
- CrnOperateProcessUtils crnOperateProcessUtils = mock(CrnOperateProcessUtils.class);
WrkAnalysisStationArrivalScanner scanner = new WrkAnalysisStationArrivalScanner(
wrkMastService,
basStationService,
wrkAnalysisService,
- stationOperateProcessUtils,
- stationMoveCoordinator,
- commonService,
- basCrnpService,
- crnOperateProcessUtils
+ stationOperateProcessUtils
);
+ scanner.scanOutboundStationFlow();
+
+ verify(stationOperateProcessUtils).stationOutExecuteFinish();
+ verify(stationOperateProcessUtils).checkTaskToComplete();
+ }
+
+ private WrkMast inboundWrkMast(int wrkNo, int stationId) {
WrkMast wrkMast = new WrkMast();
- wrkMast.setWrkNo(1004);
+ wrkMast.setWrkNo(wrkNo);
wrkMast.setIoType(1);
wrkMast.setWrkSts(WrkStsType.INBOUND_STATION_RUN.sts);
- wrkMast.setStaNo(12);
- wrkMast.setLocNo("5-6-7");
+ wrkMast.setStaNo(stationId);
+ return wrkMast;
+ }
+ private BasStation station(int stationId, int deviceNo) {
BasStation basStation = new BasStation();
- basStation.setStationId(12);
- basStation.setDeviceNo(3);
-
- StationMoveSession session = new StationMoveSession();
- session.setStatus(StationMoveSession.STATUS_RUNNING);
- session.setCurrentStationId(11);
- session.setFullPathStationIds(new ArrayList<>(List.of(10, 11, 12)));
-
- FindCrnNoResult findCrnNoResult = new FindCrnNoResult();
- findCrnNoResult.setCrnNo(1);
- findCrnNoResult.setCrnType(SlaveType.Crn);
-
- BasCrnp basCrnp = new BasCrnp();
- basCrnp.setCrnNo(1);
- basCrnp.setInStationList("[{\"stationId\":12,\"deviceRow\":2,\"deviceBay\":1,\"deviceLev\":1}]");
-
- when(wrkMastService.list(any(QueryWrapper.class))).thenReturn(List.of(wrkMast));
- when(basStationService.getOne(any())).thenReturn(basStation);
- when(stationMoveCoordinator.loadSession(1004)).thenReturn(session);
- when(commonService.findCrnNoByLocNo("5-6-7")).thenReturn(findCrnNoResult);
- when(basCrnpService.getOne(any())).thenReturn(basCrnp);
- when(crnOperateProcessUtils.dispatchCrnMove(1, "2-1-1")).thenReturn(true);
-
- ArrivalAwareStationThread stationThread = new ArrivalAwareStationThread(false);
- StationProtocol stationProtocol = new StationProtocol();
- stationProtocol.setStationId(12);
- stationProtocol.setTaskNo(0);
- stationProtocol.setLoading(true);
- stationProtocol.setInEnable(false);
- stationThread.putStatus(stationProtocol);
-
- SlaveConnection.put(SlaveType.Devp, 3, stationThread);
- try {
- scanner.scanInboundStationArrival();
- } finally {
- SlaveConnection.remove(SlaveType.Devp, 3);
- }
-
- verify(crnOperateProcessUtils).dispatchCrnMove(1, "2-1-1");
- verify(wrkAnalysisService, never()).completeInboundStationRun(any(WrkMast.class), any(Date.class));
+ basStation.setStationId(stationId);
+ basStation.setDeviceNo(deviceNo);
+ return basStation;
}
private static class ArrivalAwareStationThread implements StationThread {
--
Gitblit v1.9.1