public void WriteToMultiBufferMemoryStreamTest() { OperationContext tempOperationContext = new OperationContext(); RESTCommand <NullType> cmd = new RESTCommand <NullType>(TestBase.StorageCredentials, null); ExecutionState <NullType> tempExecutionState = new ExecutionState <NullType>(cmd, null, tempOperationContext); byte[] buffer = GetRandomBuffer(1 * 1024 * 1024); MemoryStream stream1 = new MemoryStream(buffer); MultiBufferMemoryStream stream2 = new MultiBufferMemoryStream(null /* bufferManager */); stream1.WriteToSync(stream2, null, null, false, true, tempExecutionState, null); stream1.Seek(0, SeekOrigin.Begin); stream2.Seek(0, SeekOrigin.Begin); TestHelper.AssertStreamsAreEqual(stream1, stream2); MultiBufferMemoryStream stream3 = new MultiBufferMemoryStream(null /* bufferManager */); TestHelper.ExpectedException <TimeoutException>( () => stream2.FastCopyTo(stream3, DateTime.Now.AddMinutes(-1)), "Past expiration time should immediately fail"); stream2.Seek(0, SeekOrigin.Begin); stream3.Seek(0, SeekOrigin.Begin); stream2.FastCopyTo(stream3, DateTime.Now.AddHours(1)); stream2.Seek(0, SeekOrigin.Begin); stream3.Seek(0, SeekOrigin.Begin); TestHelper.AssertStreamsAreEqual(stream2, stream3); MultiBufferMemoryStream stream4 = new MultiBufferMemoryStream(null, 12345); stream3.FastCopyTo(stream4, null); stream3.Seek(0, SeekOrigin.Begin); stream4.Seek(0, SeekOrigin.Begin); TestHelper.AssertStreamsAreEqual(stream3, stream4); MemoryStream stream5 = new MemoryStream(); stream4.WriteToSync(stream5, null, null, false, true, tempExecutionState, null); stream4.Seek(0, SeekOrigin.Begin); stream5.Seek(0, SeekOrigin.Begin); TestHelper.AssertStreamsAreEqual(stream4, stream5); TestHelper.AssertStreamsAreEqual(stream1, stream5); }
public void WriteToMultiBufferMemoryStreamTest() { OperationContext tempOperationContext = new OperationContext(); RESTCommand<NullType> cmd = new RESTCommand<NullType>(TestBase.StorageCredentials, null); ExecutionState<NullType> tempExecutionState = new ExecutionState<NullType>(cmd, null, tempOperationContext); byte[] buffer = GetRandomBuffer(1 * 1024 * 1024); MemoryStream stream1 = new MemoryStream(buffer); MultiBufferMemoryStream stream2 = new MultiBufferMemoryStream(null /* bufferManager */); stream1.WriteToSync(stream2, null, null, false, true, tempExecutionState, null); stream1.Seek(0, SeekOrigin.Begin); stream2.Seek(0, SeekOrigin.Begin); TestHelper.AssertStreamsAreEqual(stream1, stream2); MultiBufferMemoryStream stream3 = new MultiBufferMemoryStream(null /* bufferManager */); TestHelper.ExpectedException<TimeoutException>( () => stream2.FastCopyTo(stream3, DateTime.Now.AddMinutes(-1)), "Past expiration time should immediately fail"); stream2.Seek(0, SeekOrigin.Begin); stream3.Seek(0, SeekOrigin.Begin); stream2.FastCopyTo(stream3, DateTime.Now.AddHours(1)); stream2.Seek(0, SeekOrigin.Begin); stream3.Seek(0, SeekOrigin.Begin); TestHelper.AssertStreamsAreEqual(stream2, stream3); MultiBufferMemoryStream stream4 = new MultiBufferMemoryStream(null, 12345); stream3.FastCopyTo(stream4, null); stream3.Seek(0, SeekOrigin.Begin); stream4.Seek(0, SeekOrigin.Begin); TestHelper.AssertStreamsAreEqual(stream3, stream4); MemoryStream stream5 = new MemoryStream(); stream4.WriteToSync(stream5, null, null, false, true, tempExecutionState, null); stream4.Seek(0, SeekOrigin.Begin); stream5.Seek(0, SeekOrigin.Begin); TestHelper.AssertStreamsAreEqual(stream4, stream5); TestHelper.AssertStreamsAreEqual(stream1, stream5); }