public void BasicMessageParse()
        {
            byte[] fakeData = new byte[]
            {
                // header information
                0x02, 0x12, 0xF1, 0x01, 0xFF, 0x3A, 0x2D, 0x00, 0x00, 0x00, 0x08,
                // payload
                0xFF, 0x00, 0x00, 0xFF, 0x7F, 0xFF, 0x7F, 0xFD
            };

            byte[] expectedPayload = new byte[] { 0xFF, 0x00, 0x00, 0xFF, 0x7F, 0xFF, 0x7F, 0xFD };

            FakeDevice fakeDevice = new FakeDevice();
            ActisenseMessageParser parser = new ActisenseMessageParser(fakeDevice);

            var messagesParsed = new List<N2kMessageEventArgs>();
            parser.N2kMessageParsed += ((sender, e) => messagesParsed.Add(e));

            Assert.AreEqual(0, messagesParsed.Count);

            fakeDevice.RaiseMessageReceivedEvent(fakeData);

            Assert.AreEqual(1, messagesParsed.Count);

            N2kMessageEncoded result = messagesParsed[0].Message;
            Assert.AreEqual(2, result.Priority);
            Assert.AreEqual(127250, result.PGN);
            Assert.AreEqual(255, result.Destination);
            Assert.AreEqual(58, result.Source);
            Assert.AreEqual(45, result.Milliseconds);
            Assert.AreEqual(8, result.PayloadLength);
            Assert.IsTrue(expectedPayload.SequenceEqual(result.Payload), "arrays should be identical");
        }
Пример #2
0
        public void BasicMessageParse()
        {
            byte[] fakeData = new byte[]
            {
                // header information
                0x02, 0x12, 0xF1, 0x01, 0xFF, 0x3A, 0x2D, 0x00, 0x00, 0x00, 0x08,
                // payload
                0xFF, 0x00, 0x00, 0xFF, 0x7F, 0xFF, 0x7F, 0xFD
            };

            byte[] expectedPayload = new byte[] { 0xFF, 0x00, 0x00, 0xFF, 0x7F, 0xFF, 0x7F, 0xFD };

            FakeDevice             fakeDevice = new FakeDevice();
            ActisenseMessageParser parser     = new ActisenseMessageParser(fakeDevice);

            var messagesParsed = new List <N2kMessageEventArgs>();

            parser.N2kMessageParsed += ((sender, e) => messagesParsed.Add(e));


            Assert.AreEqual(0, messagesParsed.Count);

            fakeDevice.RaiseMessageReceivedEvent(fakeData);

            Assert.AreEqual(1, messagesParsed.Count);

            N2kMessageEncoded result = messagesParsed[0].Message;

            Assert.AreEqual(2, result.Priority);
            Assert.AreEqual(127250, result.PGN);
            Assert.AreEqual(255, result.Destination);
            Assert.AreEqual(58, result.Source);
            Assert.AreEqual(45, result.Milliseconds);
            Assert.AreEqual(8, result.PayloadLength);
            Assert.IsTrue(expectedPayload.SequenceEqual(result.Payload), "arrays should be identical");
        }