#0040 增加测试用例
This commit is contained in:
@@ -1,17 +1,27 @@
|
||||
using System;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
using XplorePlane.Models;
|
||||
|
||||
namespace XplorePlane.Tests.Models
|
||||
{
|
||||
public class StateModelsTests
|
||||
{
|
||||
private readonly ITestOutputHelper _output;
|
||||
|
||||
public StateModelsTests(ITestOutputHelper output)
|
||||
{
|
||||
_output = output;
|
||||
}
|
||||
|
||||
// ── Default Value Tests ───────────────────────────────────────
|
||||
|
||||
[Fact]
|
||||
public void MotionState_Default_AllZeros()
|
||||
{
|
||||
var state = MotionState.Default;
|
||||
_output.WriteLine($"MotionState.Default: XM={state.XM}, YM={state.YM}, ZT={state.ZT}, ZD={state.ZD}, TiltD={state.TiltD}, Dist={state.Dist}");
|
||||
_output.WriteLine($" Speeds: XM={state.XMSpeed}, YM={state.YMSpeed}, ZT={state.ZTSpeed}, ZD={state.ZDSpeed}, TiltD={state.TiltDSpeed}, Dist={state.DistSpeed}");
|
||||
|
||||
Assert.Equal(0, state.XM);
|
||||
Assert.Equal(0, state.YM);
|
||||
@@ -31,6 +41,7 @@ namespace XplorePlane.Tests.Models
|
||||
public void RaySourceState_Default_IsOffAndZeros()
|
||||
{
|
||||
var state = RaySourceState.Default;
|
||||
_output.WriteLine($"RaySourceState.Default: IsOn={state.IsOn}, Voltage={state.Voltage}, Power={state.Power}");
|
||||
|
||||
Assert.False(state.IsOn);
|
||||
Assert.Equal(0, state.Voltage);
|
||||
@@ -41,6 +52,7 @@ namespace XplorePlane.Tests.Models
|
||||
public void DetectorState_Default_DisconnectedAndZeros()
|
||||
{
|
||||
var state = DetectorState.Default;
|
||||
_output.WriteLine($"DetectorState.Default: IsConnected={state.IsConnected}, IsAcquiring={state.IsAcquiring}, FrameRate={state.FrameRate}, Resolution='{state.Resolution}'");
|
||||
|
||||
Assert.False(state.IsConnected);
|
||||
Assert.False(state.IsAcquiring);
|
||||
@@ -52,6 +64,7 @@ namespace XplorePlane.Tests.Models
|
||||
public void SystemState_Default_IdleNoError()
|
||||
{
|
||||
var state = SystemState.Default;
|
||||
_output.WriteLine($"SystemState.Default: OperationMode={state.OperationMode}, HasError={state.HasError}, ErrorMessage='{state.ErrorMessage}'");
|
||||
|
||||
Assert.Equal(OperationMode.Idle, state.OperationMode);
|
||||
Assert.False(state.HasError);
|
||||
@@ -62,6 +75,7 @@ namespace XplorePlane.Tests.Models
|
||||
public void CameraState_Default_DisconnectedAndZeros()
|
||||
{
|
||||
var state = CameraState.Default;
|
||||
_output.WriteLine($"CameraState.Default: IsConnected={state.IsConnected}, IsStreaming={state.IsStreaming}, CurrentFrame={state.CurrentFrame}, Width={state.Width}, Height={state.Height}, FrameRate={state.FrameRate}");
|
||||
|
||||
Assert.False(state.IsConnected);
|
||||
Assert.False(state.IsStreaming);
|
||||
@@ -75,6 +89,7 @@ namespace XplorePlane.Tests.Models
|
||||
public void LinkedViewState_Default_ZeroPositionNotExecuting()
|
||||
{
|
||||
var state = LinkedViewState.Default;
|
||||
_output.WriteLine($"LinkedViewState.Default: TargetPosition=({state.TargetPosition.X}, {state.TargetPosition.Y}, {state.TargetPosition.Z}), IsExecuting={state.IsExecuting}, LastRequestTime={state.LastRequestTime}");
|
||||
|
||||
Assert.Equal(0, state.TargetPosition.X);
|
||||
Assert.Equal(0, state.TargetPosition.Y);
|
||||
@@ -87,6 +102,7 @@ namespace XplorePlane.Tests.Models
|
||||
public void RecipeExecutionState_Default_IdleAndZeros()
|
||||
{
|
||||
var state = RecipeExecutionState.Default;
|
||||
_output.WriteLine($"RecipeExecutionState.Default: CurrentStepIndex={state.CurrentStepIndex}, TotalSteps={state.TotalSteps}, Status={state.Status}, CurrentRecipeName='{state.CurrentRecipeName}'");
|
||||
|
||||
Assert.Equal(0, state.CurrentStepIndex);
|
||||
Assert.Equal(0, state.TotalSteps);
|
||||
@@ -100,8 +116,8 @@ namespace XplorePlane.Tests.Models
|
||||
public void MotionState_WithExpression_ProducesNewInstance()
|
||||
{
|
||||
var original = MotionState.Default;
|
||||
|
||||
var modified = original with { XM = 100 };
|
||||
_output.WriteLine($"Original.XM={original.XM}, Modified.XM={modified.XM}, SameRef={ReferenceEquals(original, modified)}");
|
||||
|
||||
// New instance is different from original
|
||||
Assert.NotSame(original, modified);
|
||||
@@ -124,6 +140,7 @@ namespace XplorePlane.Tests.Models
|
||||
);
|
||||
|
||||
var (x, y, z) = matrix.Transform(pixelX: 5, pixelY: 8);
|
||||
_output.WriteLine($"Matrix Transform(5, 8): x={x}, y={y}, z={z} (expected: 20, 44, 0)");
|
||||
|
||||
// x = 2*5 + 0*8 + 10 = 20
|
||||
Assert.Equal(20, x);
|
||||
@@ -144,6 +161,7 @@ namespace XplorePlane.Tests.Models
|
||||
);
|
||||
|
||||
var (x, y, z) = identity.Transform(pixelX: 42.5, pixelY: 99.1);
|
||||
_output.WriteLine($"Identity Transform(42.5, 99.1): x={x}, y={y}, z={z}");
|
||||
|
||||
Assert.Equal(42.5, x, precision: 10);
|
||||
Assert.Equal(99.1, y, precision: 10);
|
||||
|
||||
Reference in New Issue
Block a user