Example #1
0
        public void TestEncodeMessageIdentifyCommand()
        {
            MessageRecordDataUInt messageRecordData = new MessageRecordDataUInt(RecordType.UnsignedX0, 0, 0);
            Parameter             parameter         = new Parameter(OpenThingsParameter.IdentifyCommand);
            MessageRecord         messageRecord     = new MessageRecord(parameter, messageRecordData);
            MessageHeader         messageHeader     = new MessageHeader(0, 0, 0, 0x00F3E379);
            Message message = new Message(messageHeader);

            message.Records.Add(messageRecord);

            // Act
            var result = _encoder.Encode(message);

            // Assert
            result
            .Should()
            .NotBeNull()
            .And
            .NotBeEmpty()
            .And
            .ContainInOrder(new List <byte>()
            {
                0x0C, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xE3, 0x79, 0xBF, 0x00, 0x00, 0xE9, 0x4E
            });
        }
Example #2
0
        public void TestEncodeMessageWithEncoding()
        {
            // Arrange
            var messageHeader = new MessageHeader(0x55, 0xAA, 0x0000, 0xFEEDED);

            var message = new Message(messageHeader);

            var parameterTemp     = new Parameter(OpenThingsParameter.Temperature);
            var dataTemp          = new MessageRecordDataUInt(RecordType.UnsignedX0, 2, 0xBEEF);
            var parameterHumidity = new Parameter(OpenThingsParameter.RelativeHumidity);
            var dataHumidity      = new MessageRecordDataUInt(RecordType.UnsignedX0, 2, 0xBEEF);

            message.Records.Add(
                new MessageRecord(
                    parameterTemp,
                    dataTemp));

            message.Records.Add(
                new MessageRecord(
                    parameterHumidity,
                    dataHumidity));

            // Act
            var result = _encoder.Encode(message, 0xFF, 0xAA55);

            // Assert
            result
            .Should()
            .NotBeNull()
            .And
            .NotBeEmpty()
            .And
            .ContainInOrder(new List <byte>()
            {
                0x12, 0x55, 0xAA, 0x55, 0x55, 0x18, 0xE2, 0x3B, 0x97, 0x06, 0x47, 0x40, 0xFB, 0xE8, 0x84, 0x0E, 0xCD, 0x29, 0xAE
            });
        }