public void EncodeArrayBlock(IList <IList <int> > value, int expectedLength, byte[] expectedValue) { using (var stream = new MemoryStream()) using (var encoder = new BinaryEncoder(stream)) { foreach (var array in value) { encoder.WriteArrayBlock(array, (s, e) => s.WriteInt(e)); } Assert.AreEqual(expectedLength, stream.Position, "Encode offset error"); Assert.AreEqual(expectedValue, stream.GetBuffer().AsSpan(0, expectedLength).ToArray()); } }