Пример #1
0
        public void ExceedingCapacityThrows()
        {
            var bytes = new byte[] { 74, 117, 97, 110, 32, 67, 97, 114, 108, 111, 115, 32, 59, 41 };
            var inner = new MemoryStream();

            inner.Write(bytes, 0, bytes.Length);
            inner.Position = 0;

            var wrapper = new RecordingStream(inner, bytes.Length - 1);
            var buffer  = new byte[bytes.Length];

            Assert.Throws <InvalidOperationException>(() => wrapper.Read(buffer, 0, bytes.Length));
        }
Пример #2
0
        public void BytesAreReadAndRecorded()
        {
            var bytes = new byte[] { 74, 117, 97, 110, 32, 67, 97, 114, 108, 111, 115, 32, 59, 41 };
            var inner = new MemoryStream();

            inner.Write(bytes, 0, bytes.Length);
            inner.Position = 0;

            var wrapper   = new RecordingStream(inner, bytes.Length);
            var buffer    = new byte[bytes.Length];
            var bytesRead = wrapper.Read(buffer, 0, bytes.Length);

            Assert.Equal(bytes.Length, bytesRead);
            Assert.Equal(bytes, buffer);
            Assert.Equal(bytes, wrapper.RecordedBytes);
        }