Example #1
0
        public void ReturnsCopiedMemoryOnTwoSegmentsIntersection()
        {
            // Arrange
            var array1 = new byte[5] {
                1, 2, 3, 4, 5
            };
            var array2 = new byte[5] {
                6, 7, 8, 9, 10
            };
            var segment1 = new ReadOnlySequenceSegmentMock <byte>(array1);
            var segment2 = new ReadOnlySequenceSegmentMock <byte>(array2);

            segment1.SetNext(segment2);
            var sequence = new ReadOnlySequence <byte>(segment1, 0, segment2, 4);

            // Act
            var memory = sequence.Slice(4, 2).ToMemory();

            array1[4] = byte.MaxValue;

            // Assert
            Assert.Equal(5, memory.Span[0]);
            Assert.Equal(byte.MaxValue, array1[4]);
        }
Example #2
0
 public void SetNext(ReadOnlySequenceSegmentMock <T> next)
 {
     Next = next;
     next.RunningIndex = RunningIndex + Length;
 }