Example #1
0
        public void Clear()
        {
            mItemDict.Clear();
            mDirSet.Clear();
            mFileList = new FileList
            {
                CurVersion = PublishTarget.Current.ClientVersion.ToProtoVersion()
            };

            mFileId = 0;

            mCoders.Clear();
            mProtoCoders.Clear();
            if (PublishTarget.Current.IsCompress)
            {
                mCoders.Add(new LZMAEncoder(null));
                LZMADecoder decoder = new LZMADecoder(null);
                mProtoCoders.Add(decoder.CoderInfo);
            }

            if (PublishTarget.Current.IsEncrypt)
            {
                const string key = "{803CE8F2-8C0E-4159-96CB-921D89C08E13}{2519C077-1247-4AF5-8C71-C7367A481C2D}{975C6505-5494-4A36-9AD6-B4890B0E2F79}{B0DC6B72-83CC-4E81-8566-AD3AC306FE3A}{4B75FE65-1ADC-47AC-890A-293AD2A1968D}";

                var bytes    = Encoding.UTF8.GetBytes(key);
                var keyBytes = BaseCoder.ByteArrayToString(bytes);
                mCoders.Add(new XOREncoder(bytes));

                XORDecoder decoder = new XORDecoder(null);
                mProtoCoders.Add(decoder.CoderInfo);
            }

            mProtoCoders.Reverse();
        }
Example #2
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);
        }
Example #3
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);
        }
Example #4
0
        public MainWindow()
        {
            InitializeComponent();

            IMessageCoder coder = new BaseCoder();

            _serialPortCommunicator = new SerialPortCommunicator.Core.SerialPortCommunicator(coder);

            baudrateComboBox.InitializeWithEnum(typeof(EBaudRate), item => (int)item, selectedIndex: 1);
            dataBitsComboBox.InitializeWithEnum(typeof(EDataBits), item => (int)item, selectedIndex: 3);
            parityComboBox.InitializeWithEnum(typeof(Parity), item => item, selectedIndex: 0);
            stopBitsComboBox.InitializeWithEnum(typeof(StopBits), item => item, selectedIndex: 1);

            RefreshView();

            FormClosed += (sender, e) => CloseSerialPort();
            recieverPortComboBox.DropDown += (sender, args) => { RefreshPortsList(sender); };
            senderPortComboBox.DropDown   += (sender, args) => { RefreshPortsList(sender); };
        }
Example #5
0
        public void PackUnpack()
        {
            byte senderAddress      = 1;
            byte destinationAddress = 2;
            int  fcs     = 1;
            var  message = new BaseCoder().Encode("sampletext");

            Package package = new Package()
            {
                AccessControl = new Package.AccessControlByte()
                {
                    PriorityBits    = 1,
                    TokenBit        = false,
                    MonitorBit      = false,
                    ReservationBits = 2
                },
                FrameControl = new Package.FrameControlByte()
                {
                    AddressRecognized = false,
                    FrameCopied       = true
                },
                Data = new Package.DataBlock()
                {
                    DestinationAddress = destinationAddress,
                    SenderAddress      = senderAddress,
                    Length             = (short)message.Length,
                    Message            = message,
                    FCS = fcs
                }
            };

            var result = package.ToByteArray().ToPackage();

            Assert.AreEqual(result.AccessControl.PriorityBits, 1);
            Assert.AreEqual(result.AccessControl.TokenBit, false);
            Assert.AreEqual(result.AccessControl.MonitorBit, false);
            Assert.AreEqual(result.AccessControl.ReservationBits, 2);

            Assert.AreEqual(result.FrameControl.AddressRecognized, false);
            Assert.AreEqual(result.FrameControl.FrameCopied, true);

            CollectionAssert.AreEqual(package.Data.Message, result.Data.Message);
        }