Пример #1
0
        public void TestSegmentShiftRight()
        {
            // from     here         to                           here
            byte[] arr = { 0xF1, 0xA4, 0xB7, 0x09, 0x31, 0xCC, 0x67, 0xAA, 0xBB, 0xFE };
            byte[] smn = { 0xA4, 0xB7, 0x09, 0x31, 0xCC, 0x67, 0xAA, 0xBB };

            byte[] s3 = { 0x00, 0x00, 0x00, 0xA4, 0xB7, 0x09, 0x31, 0xCC };
            byte[] s6 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xB7 };

            IndexedArraySegment<byte> seg = new IndexedArraySegment<byte>(arr.Duplicate(), 1, 8);

            byte[] res = seg.ToArray();

            Debug.WriteLine("Testing ToArray()");
            CollectionAssert.AreEqual(smn, res);

            Debug.WriteLine("Testing rightshift 3");
            seg.ShiftContentsRight(3);
            res = seg.ToArray();
            Debug.WriteLine("{0}\n{1}", BitConverter.ToString(res), BitConverter.ToString(s3));
            CollectionAssert.AreEqual(s3, res);

            seg = new IndexedArraySegment<byte>(arr.Duplicate(), 1, 8);
            Debug.WriteLine("Testing rightshift 6");
            seg.ShiftContentsRight(6);
            res = seg.ToArray();
            Debug.WriteLine("{0}\n{1}", BitConverter.ToString(res), BitConverter.ToString(s6));
            CollectionAssert.AreEqual(s6, res);
        }
Пример #2
0
        public void TestSegmentShiftLeft()
        {
            // from     here         to         here
            byte[] arr = { 0xF1, 0xA4, 0xB7, 0x09, 0x31, 0xCC, 0x67, 0xAA, 0xBB, 0xFE };
            byte[] smn = { 0xB7, 0x09, 0x31, 0xCC, 0x67 };

            byte[] s2 = { 0x31, 0xCC, 0x67, 0x00, 0x00 };
            byte[] s6 = { 0x00, 0x00, 0x00, 0x00, 0x00 };

            IndexedArraySegment<byte> seg = new IndexedArraySegment<byte>(arr.Duplicate(), 2, 5);

            CollectionAssert.AreEqual(smn, seg.ToArray());

            seg.ShiftContentsLeft(2);

            CollectionAssert.AreEqual(s2, seg.ToArray());

            seg = new IndexedArraySegment<byte>(arr.Duplicate(), 2, 5);
            seg.ShiftContentsLeft(6);

            CollectionAssert.AreEqual(s6, seg.ToArray());
        }