修复测试用例

This commit is contained in:
zhengxuan.zhang
2026-05-14 20:28:31 +08:00
parent d3e75f3fac
commit 455e452ec2
@@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using Moq;
using XP.Common.Logging.Interfaces;
using XP.Hardware.RaySource.Services;
using XplorePlane.Models;
using XplorePlane.Services.AppState;
using XplorePlane.Services.Cnc;
using Xunit;
namespace XplorePlane.Tests.Services
{
public class CncProgramServiceTests
{
[Fact]
public void SerializeDeserialize_SavePosition_PreservesSaveImage()
{
var appState = new Mock<IAppStateService>();
appState.SetupGet(s => s.MotionState).Returns(MotionState.Default);
appState.SetupGet(s => s.RaySourceState).Returns(RaySourceState.Default);
appState.SetupGet(s => s.DetectorState).Returns(DetectorState.Default);
var raySource = new Mock<IRaySourceService>();
var logger = new Mock<ILoggerService>();
logger.Setup(l => l.ForModule<CncProgramService>()).Returns(logger.Object);
var service = new CncProgramService(appState.Object, raySource.Object, logger.Object);
var program = new CncProgram(
Guid.NewGuid(),
"Program",
DateTime.UtcNow,
DateTime.UtcNow,
new List<CncNode>
{
new SavePositionNode(Guid.NewGuid(), 0, "保存位置_0", MotionState.Default, SaveImage: true)
}.AsReadOnly());
var json = service.Serialize(program);
var deserialized = service.Deserialize(json);
var savePosition = Assert.IsType<SavePositionNode>(Assert.Single(deserialized.Nodes));
Assert.True(savePosition.SaveImage);
}
}
}