Пример #1
0
        public void EncodeMessage()
        {
            var coder   = new HammingCoder(new BaseCoder());
            var message = GenerateRandomMessage();

            var res = coder.Decode(coder.Encode(message));

            Assert.AreEqual(message, res);
        }
Пример #2
0
        public void CodersIntegrationWithBitstuffing()
        {
            IMessageCoder coder = new BaseCoder();

            coder = new BitstuffCoder(coder);
            coder = new HammingCoder(coder);

            var message = "???";

            var res = coder.Decode(coder.Encode(message));

            Assert.AreEqual(message, res);
        }
Пример #3
0
        public void CodersIntegration()
        {
            IMessageCoder coder = new BaseCoder();

            coder = new BitstuffCoder(coder);
            coder = new HammingCoder(coder);

            var message = GenerateRandomMessage();

            var res = coder.Decode(coder.Encode(message));

            Assert.AreEqual(message, res);
        }
Пример #4
0
        public void WriteData(string msg, FrameType CurrentFrameType, bool msg_no_display)
        {
            byte[] FrameFields = { START, (byte)CurrentFrameType };//заполняем первые два поля кадра стартовый и тип

            switch (CurrentFrameType)
            {
            case FrameType.DAT:
                try
                {
                    //преобразуем сообщение в массив типа byte
                    var    bytes  = Encoding.Unicode.GetBytes(msg);
                    byte[] newMsg = ham.Encode(bytes);
                    comPort.Write(FrameFields, 0, 2);
                    //отсылаем сообщение в порт
                    comPort.Write(newMsg, 0, newMsg.Length);
                    if (!msg_no_display)
                    {
                        DisplayData(MessageType.Outgoing, user1 + " [ " + DateTime.Now + " ] \n" + msg + "\n");
                    }
                }
                catch (FormatException ex)
                {
                    DisplayData(MessageType.Error, ex.Message);
                }

                break;

            default:

                if (!(comPort.IsOpen == true))
                {
                    comPort.Open();
                }
                comPort.Write(FrameFields, 0, 2);
                break;
            }
        }