探测器双队列的打通与实时按钮的切换

This commit is contained in:
zhengxuan.zhang
2026-05-06 23:18:28 +08:00
parent f9be56b99f
commit bd9b24beb1
10 changed files with 223 additions and 11388 deletions
@@ -9,8 +9,10 @@ using FsCheck;
using FsCheck.Fluent;
using FsCheck.Xunit;
using Moq;
using Prism.Events;
using XP.Common.Logging.Interfaces;
using XP.Hardware.Detector.Abstractions;
using XplorePlane.Events;
using XplorePlane.Models;
using XplorePlane.Services.Cnc;
using XplorePlane.Services;
@@ -185,8 +187,14 @@ internal sealed class SynchronousProgress<T> : IProgress<T>
var mockAppStateService = new Mock<IAppStateService>();
var mockPipelineExecutionService = new Mock<IPipelineExecutionService>();
var mockImageProcessingService = new Mock<IImageProcessingService>();
var mockEventAggregator = new Mock<IEventAggregator>();
mockLogger.Setup(l => l.ForModule<CncExecutionService>()).Returns(mockLogger.Object);
// Set up GetEvent<DetectorDisconnectedEvent>() so the constructor subscription doesn't throw
mockEventAggregator
.Setup(ea => ea.GetEvent<DetectorDisconnectedEvent>())
.Returns(new DetectorDisconnectedEvent());
mockStore.Setup(s => s.BeginRunAsync(
It.IsAny<InspectionRunRecord>(),
It.IsAny<InspectionAssetWriteRequest>()))
@@ -211,7 +219,8 @@ internal sealed class SynchronousProgress<T> : IProgress<T>
mockMainViewportService.Object,
mockAppStateService.Object,
mockPipelineExecutionService.Object,
mockImageProcessingService.Object);
mockImageProcessingService.Object,
mockEventAggregator.Object);
return (service, mockStore, mockLogger, mockMainViewportService, mockAppStateService);
}