Пример #1
0
 public void DataPack_FullCrcField()
 {
     DataPack_t myDataPack = new DataPack_t(testPack);
     myDataPack.CRC16 = 0;
     myDataPack.FullCrcAndPrefixField();
     Assert.IsTrue(myDataPack.CRC16 == 0x1718);
 }
Пример #2
0
 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);
 }
Пример #3
0
        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);
        }