修复测试用例
This commit is contained in:
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user