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); }
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); }
public void Single_Create_ArgumentOutOfRangeException() { _random = new Random(8); Data = new byte[_random.Next(1000)]; _random.NextBytes(Data); var frame = new SingleFrame(Data); }
private void SendSingle() { try { var f = new SingleFrame(Buff); Flow.Send(f.GetCanFrame(TransmitDescriptor)); } catch (Exception) { this.Status = TpTransactionStatus.Error; throw; } }
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 не соответствует переданным данным"); }
public void Single_Create_ArgumentNullException() { Data = null; var frame = new SingleFrame(Data); }
public void Single_Create() { var frame = new SingleFrame(Data); Assert.AreEqual(BitConverter.ToString(frame.Data), BitConverter.ToString(Data), "Значение свойства Data не соответствует переданным данным"); }