Пример #1
0
        public void CalculateControlBit()
        {
            var coder = new HammingCoder(new BaseCoder());
            var res   = coder.CalculateControlBit("10101010", "11001100");

            Assert.AreEqual(false, res);
        }
Пример #2
0
        public void CalculateControlLine1()
        {
            var coder = new HammingCoder(new BaseCoder());
            var res   = coder.CalculateControlLine(1, 20);

            Assert.AreEqual("10101010101010101010", res);
        }
Пример #3
0
        public void CalculateControlLine5()
        {
            var coder = new HammingCoder(new BaseCoder());
            var res   = coder.CalculateControlLine(5, 20);

            Assert.AreEqual("00000000000000011111", res);
        }
Пример #4
0
        public void ExtractControlBits()
        {
            var coder = new HammingCoder(new BaseCoder());
            var res   = coder.ExtractControlBits("00101110111");

            Assert.AreEqual("1111111", res);
        }
Пример #5
0
        public void InitializeAndExcludeControlBits()
        {
            var coder = new HammingCoder(new BaseCoder());

            var res = coder.ExtractControlBits(coder.InitializeControlBits("111111111111111111111111"));

            Assert.AreEqual("111111111111111111111111", res);
        }
Пример #6
0
        public void FixBit()
        {
            var coder = new HammingCoder(new BaseCoder());

            var res = coder.FixBit("111", 2);

            Assert.AreEqual("101", res);
        }
Пример #7
0
        public void CalculateControlBits()
        {
            var coder = new HammingCoder(new BaseCoder());
            var res   = coder.CalculateControlBits("00100010001011100001", coder.CalculateControlLines("00100010001011100001"));

            Assert.AreEqual(true, res[0]);
            Assert.AreEqual(true, res[1]);
            Assert.AreEqual(false, res[3]);
        }
Пример #8
0
        public void GetControlLines()
        {
            var coder = new HammingCoder(new BaseCoder());
            var res   = coder.CalculateControlLines("00100010001011100001");

            Assert.AreEqual("10101010101010101010", res[0]);
            Assert.AreEqual("01100110011001100110", res[1]);
            Assert.AreEqual("00000000000000011111", res[4]);
        }
Пример #9
0
        public void EncodeMessage()
        {
            var coder   = new HammingCoder(new BaseCoder());
            var message = GenerateRandomMessage();

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

            Assert.AreEqual(message, res);
        }
Пример #10
0
        public void GetErrorBitNumber()
        {
            var coder = new HammingCoder(new BaseCoder());

            var res = coder.GetErrorBitNumber(new List <bool>()
            {
                false, true, true, false, false
            });

            Assert.AreEqual(6, res);
        }
Пример #11
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);
        }
Пример #12
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);
        }