Example #1
0
            public static Frame Parse(byte[] message)
            {
                Frame ret = null;

                switch (DetermineFrameType(message[0]))
                {
                case FrameType.Single:
                    ret = new SingleFrame(message);
                    break;

                case FrameType.First:
                    ret = new FirstFrame(message);
                    break;

                case FrameType.Consecutive:
                    ret = new ConsecutiveFrame(message);
                    break;

                case FrameType.Flow:
                    ret = new FlowControlFrame(message);
                    break;

                default:
                    break;
                }
                return(ret);
            }
Example #2
0
            public static Frame Parse(byte[] message, bool awaitingConsecutive)
            {
                Frame ret = null;

                if (awaitingConsecutive)
                {
                    ret         = new Frame(message);
                    ret.RawData = message.Skip(1).ToArray();
                    return(ret);
                }

                switch (DetermineFrameType(message[0]))
                {
                case FrameType.Single:
                    ret = new SingleFrame(message);
                    break;

                case FrameType.First:
                    ret = new FirstFrame(message);
                    break;

                case FrameType.Consecutive:
                    ret = new ConsecutiveFrame(message);
                    break;

                case FrameType.Flow:
                    ret = new FlowControlFrame(message);
                    break;

                default:
                    break;
                }
                return(ret);
            }
Example #3
0
        public void Single_Create_ArgumentOutOfRangeException()
        {
            _random = new Random(8);
            Data    = new byte[_random.Next(1000)];
            _random.NextBytes(Data);

            var frame = new SingleFrame(Data);
        }
Example #4
0
 private void SendSingle()
 {
     try
     {
         var f = new SingleFrame(Buff);
         Flow.Send(f.GetCanFrame(TransmitDescriptor));
     }
     catch (Exception)
     {
         this.Status = TpTransactionStatus.Error;
         throw;
     }
 }
Example #5
0
        public void Single_GetCanFrame()
        {
            const int descriptor = 0xfc08;
            var       frame      = new SingleFrame(Data);

            var canFrame = frame.GetCanFrame(descriptor);

            var result = new byte[8];

            result[0] = (byte)(((byte)frame.FrameType & 0x0f) << 4 | Data.Length & 0x0f);
            Buffer.BlockCopy(Data, 0, result, 1, Data.Length);

            Assert.AreEqual(canFrame.Descriptor, descriptor, "Значение свойства Descriptor не соответствует переданным данным");
            Assert.AreEqual(BitConverter.ToString(canFrame.Data), BitConverter.ToString(result), "Значение свойства Data не соответствует переданным данным");
        }
Example #6
0
        public void Single_Create_ArgumentNullException()
        {
            Data = null;

            var frame = new SingleFrame(Data);
        }
Example #7
0
        public void Single_Create()
        {
            var frame = new SingleFrame(Data);

            Assert.AreEqual(BitConverter.ToString(frame.Data), BitConverter.ToString(Data), "Значение свойства Data не соответствует переданным данным");
        }