public void TestShiftCurrentReceivingBuffer_EqualToRemains_CurrentReceivingBufferOffsetIsInitializedAndBufferIsSwappedAndReceivedDataIsAppended() { int bytesTransferred = 13; var target = new ClientResponseContext(); var oldBuffer = target.CurrentReceivingBuffer; target.SetBytesTransferred(bytesTransferred); target.ShiftCurrentReceivingBuffer(); target.SetBytesTransferred(oldBuffer.Length - bytesTransferred); target.ShiftCurrentReceivingBuffer(); Assert.That(target.CurrentReceivingBuffer, Is.Not.SameAs(oldBuffer)); Assert.That(target.CurrentReceivingBufferOffset, Is.EqualTo(0)); Assert.That(target.ReceivedData.Count, Is.EqualTo(2)); Assert.That(target.ReceivedData[1].Array, Is.EqualTo(oldBuffer)); Assert.That(target.ReceivedData[1].Offset, Is.EqualTo(bytesTransferred)); Assert.That(target.ReceivedData[1].Count, Is.EqualTo(oldBuffer.Length - bytesTransferred)); }
public void TestShiftCurrentReceivingBuffer_LessThanRemains_CurrentReceivingBufferOffsetIsShifttedAndReceivedDataIsAppended() { int bytesTransferred = 13; var target = new ClientResponseContext(); target.SetBytesTransferred(bytesTransferred); target.ShiftCurrentReceivingBuffer(); Assert.That(target.CurrentReceivingBufferOffset, Is.EqualTo(bytesTransferred)); Assert.That(target.ReceivedData.Count, Is.EqualTo(1)); Assert.That(target.ReceivedData[0].Array, Is.EqualTo(target.CurrentReceivingBuffer)); Assert.That(target.ReceivedData[0].Offset, Is.EqualTo(0)); Assert.That(target.ReceivedData[0].Count, Is.EqualTo(bytesTransferred)); }
private static void MakeBufferDirty(ClientResponseContext target) { target.SetTransport(new DummyClientTransport()); target.SetReceivingBuffer(new byte[] { 1, 2, 3, 4 }); target.SetBytesTransferred(1); target.ShiftCurrentReceivingBuffer(); target.ErrorBuffer = new ByteArraySegmentStream(CreateDirtyBytes()); target.ErrorStartAt = 1; target.HeaderUnpacker = Unpacker.Create(new MemoryStream()); target.MessageId = 1; target.NextProcess = _ => true; target.ReceivedData.Add(new ArraySegment <byte>(new byte[] { 1, 2, 3, 4 })); target.ResultBuffer = new ByteArraySegmentStream(CreateDirtyBytes()); target.ResultStartAt = 2; target.RenewSessionId(); target.UnpackingBuffer = new ByteArraySegmentStream(CreateDirtyBytes()); }