using System; using IvfTl.Control.Entity.InitEntitys; using Xunit; namespace IvfTl.ControlHost.Tests { public class HouseFaultTests { [Fact] public void HouseFault_Holds_All_Fields() { var at = new DateTime(2026, 6, 23, 12, 0, 0, DateTimeKind.Utc); var f = new HouseFault { HouseSn = 6, Port = "COM7", Type = HouseFaultType.CcdSnMissing, Reason = "相机列表中不存在仓室的CCDSN12345", Stage = "扫口握手", At = at, Isolated = true }; Assert.Equal(6, f.HouseSn); Assert.Equal("COM7", f.Port); Assert.Equal(HouseFaultType.CcdSnMissing, f.Type); Assert.Equal("相机列表中不存在仓室的CCDSN12345", f.Reason); Assert.Equal("扫口握手", f.Stage); Assert.Equal(at, f.At); Assert.True(f.Isolated); } [Fact] public void HouseFault_Defaults_HouseSn_Unknown_As_Minus1() { var f = new HouseFault { Type = HouseFaultType.CameraDuplicateSn }; Assert.Equal(-1, f.HouseSn); // -1 = 舱号未知(相机/串口级故障) Assert.False(f.Isolated); } } }