public void TryParseUdpPanSsySentence() { var model = new UdpPanSsy() { SystemStatus = SystemStatus.NoDisturbance, Pos1Status = PosServerStatus.Initialization, Pos2Status = PosServerStatus.Disorder, SilenceStatus = SilenceStatus.Canceled, LoggedOnTagsAmount = 10, MissedTagsAmount = 2, IlasstStatus = IlasstStatus.NormalOperation }; var input = new ArraySegment <byte>(model.ToBytes()); var inputStr = Encoding.ASCII.GetString(model.ToBytes()); var inputStrOrigin = "$PANSSY,0,2,1,1,10,2,0*2B\r\n"; var parsed = UdpPanSsy.TryParse(input, out var result); Assert.IsTrue(parsed, "UdpPanSsy was not parsed"); Assert.IsNotNull(result, "result is null"); Assert.AreEqual(model.SystemStatus, result.SystemStatus, "SystemStatus is not equal"); Assert.AreEqual(model.Pos1Status, result.Pos1Status, "Pos1Status is not equal"); Assert.AreEqual(model.Pos2Status, result.Pos2Status, "Pos2Status is not equal"); Assert.AreEqual(model.SilenceStatus, result.SilenceStatus, "SilenceStatus is not equal"); Assert.AreEqual(model.LoggedOnTagsAmount, result.LoggedOnTagsAmount, "LoggedOnTagsAmount is not equal"); Assert.AreEqual(model.MissedTagsAmount, result.MissedTagsAmount, "MissedTagsAmount is not equal"); Assert.AreEqual(model.IlasstStatus, result.IlasstStatus, "IlasstStatus is not equal"); Assert.AreEqual(inputStrOrigin, inputStr, "Origin is not equal to str from model"); }
private void FixAndSaveResult(ArraySegment <byte> smgt, UdpPayloadCache outStream) { UdpSentence baseModel = null; try { if (UdpPanSpt.TryParse(smgt, out var sptModel)) { FixPANSPT(sptModel); baseModel = sptModel; } else if (UdpPanSsy.TryParse(smgt, out var ssyModel)) { FixPANSSY(ssyModel); baseModel = ssyModel; } else { OnlySaveResult(smgt, outStream); } if (baseModel != null) { SaveResult(baseModel.ToBytes(), outStream); } } catch { // ignored } }
public void FixPANSSYModel() { var model = new UdpPanSsy() { SystemStatus = SystemStatus.NoDisturbance, Pos1Status = PosServerStatus.Initialization, Pos2Status = PosServerStatus.Disorder, SilenceStatus = SilenceStatus.Canceled, LoggedOnTagsAmount = 0, MissedTagsAmount = 0, IlasstStatus = IlasstStatus.NormalOperation }; var service = new UdpRepairService(_dbCache); service.FixPANSSY(model); Assert.AreEqual(SystemStatus.NoDisturbance, model.SystemStatus); Assert.AreEqual(PosServerStatus.Initialization, model.Pos1Status); Assert.AreEqual(PosServerStatus.Disorder, model.Pos2Status); Assert.AreEqual(SilenceStatus.Canceled, model.SilenceStatus); Assert.AreEqual(3, model.LoggedOnTagsAmount); Assert.AreEqual(1, model.MissedTagsAmount); Assert.AreEqual(IlasstStatus.NormalOperation, model.IlasstStatus); }
public void FixPANSSY(UdpPanSsy model) { model.LoggedOnTagsAmount = _dbCache.GetSectorTagsAmount(1, 66); }