void Enocde_And_Decode_Internal(CoapMessage message) { var messageEncoder = new CoapMessageEncoder(); var messageBuffer = messageEncoder.Encode(message); var messageDecoder = new CoapMessageDecoder(new CoapNetLogger()); var decodedMessage = messageDecoder.Decode(messageBuffer); Assert.AreEqual(message.Type, decodedMessage.Type); Assert.AreEqual(message.Code, decodedMessage.Code); CollectionAssert.AreEqual(message.Token, decodedMessage.Token); CollectionAssert.AreEqual(message.Options, decodedMessage.Options); if (message.Payload.Array == null && message.Payload.Array == null) { return; } CollectionAssert.AreEqual(message.Payload.ToArray(), decodedMessage.Payload.ToArray()); }
public void Encode_Simple_Get_Request() { var expected = Convert.FromBase64String("QAHLDnIWEP9wYXlsb2Fk"); var optionBuilder = new CoapMessageOptionFactory(); var message = new CoapMessage { Type = CoapMessageType.Confirmable, Code = CoapMessageCodes.Get, Id = 0xcb0e, Payload = Encoding.UTF8.GetBytes("payload") }; message.Options = new List <CoapMessageOption> { optionBuilder.CreateUriPort(5648) }; var messageEncoder = new CoapMessageEncoder(); var messageBuffer = messageEncoder.Encode(message); AssertDataIsEqual(expected, messageBuffer.ToArray()); }