public void DataPack_FullCrcField() { DataPack_t myDataPack = new DataPack_t(testPack); myDataPack.CRC16 = 0; myDataPack.FullCrcAndPrefixField(); Assert.IsTrue(myDataPack.CRC16 == 0x1718); }
public void SendPacket(byte bCommand = 0, byte bAddr = Constants.COMM_RX_DEF, UInt32 uiData = 0, UInt16 uiReserv = 0) { DataPack_t myNewPack = new DataPack_t(); myNewPack.Command = bCommand; myNewPack.Addr = bAddr; myNewPack.Data = uiData; myNewPack.Reserv = uiReserv; myNewPack.FullCrcAndPrefixField(); tTxQueue.Add(myNewPack); }
public void PointGen_GetCorrectDataCollection_PointGenerate() { DataPack_t tPack = new DataPack_t(); IPointRecever<stPoint3D> fakeChart3D = Substitute.For<IPointRecever<stPoint3D>>(); Pointsource3D myPointGen = new Pointsource3D(fakeChart3D); tPack.Addr = Constants.COMM_RX_PREASURE; tPack.Data = 500; tPack.FullCrcAndPrefixField(); myPointGen.OnNext(tPack); tPack.Addr = Constants.COMM_RX_TENZO; tPack.Data = 700; tPack.FullCrcAndPrefixField(); myPointGen.OnNext(tPack); tPack.Addr = Constants.COMM_RX_LENGTH; tPack.Data = 123; tPack.FullCrcAndPrefixField(); myPointGen.OnNext(tPack); // в этот момент на выходе должна появиться следующая точка: stPoint3D tTestPoint; tTestPoint.uiX=500; tTestPoint.uiY=700; tTestPoint.uiZ=123; tPack.Addr = Constants.COMM_RX_TENZO; tPack.Data = 500; tPack.FullCrcAndPrefixField(); myPointGen.OnNext(tPack); tPack.Addr = Constants.COMM_RX_PREASURE; tPack.Data = 700; tPack.FullCrcAndPrefixField(); myPointGen.OnNext(tPack); // должна быть только одна правильная точка fakeChart3D.Received(1).AddPoint(tTestPoint); }