Пример #1
0
        //[TestCase("AMNOA", "MNO", TestName = "SLIP Receiving does decode data, basic encoding")]
        //[TestCase("ABCA", "A", TestName = "SLIP Receiving does decode data, delimiter encoding")]
        //[TestCase("ABDA", "B", TestName = "SLIP Receiving does decode data, escaping encoding")]
        //[TestCase("ABCBDCA", "ABC", TestName = "SLIP Receiving does decode data, full encoding")]
        public void TestReceiveIsDecoded(string toDecode, string expectedDecoded)
        {
            _buffer = new byte[toDecode.Length];

            for (int i = 0; i < toDecode.Length; i++)
            {
                _buffer[i] = (byte)toDecode[i];
            }

            _serial.Receive(ref Arg.Any <byte[]>()).Returns(x => {
                x[1] = _buffer;
                return(toDecode.Length);
            });

            int l = expectedDecoded.Length;

            var actual = new byte[l];
            int recv   = _uut.Receive(ref actual, toDecode.Length);

            byte[] expected = new byte[l];

            for (int i = 0; i < l; i++)
            {
                expected[i] = (byte)expectedDecoded[i];
            }

            Assert.That(recv, Is.EqualTo(toDecode.Length));
            Assert.That(actual.SequenceEqual(expected));
        }