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]); }
public void SetNext(ReadOnlySequenceSegmentMock <T> next) { Next = next; next.RunningIndex = RunningIndex + Length; }