public void WriteShouldThrowExceptionIfAttemptingToWriteBeyondEndOfBuffer() { var buffer = new SimpleByteBuffer(8); buffer.Write(_BunchOfBytes, 0, 4); buffer.Write(_BunchOfBytes, 4, 8); }
public void MultipleWritesShouldWriteDataSequentially() { var buffer = new SimpleByteBuffer(8); var destination = new byte[8]; buffer.Write(_BunchOfBytes, 0, 4); buffer.Write(_BunchOfBytes, 4, 4); buffer.Read(destination, 0, 8).ShouldBe(8); Assert2.AreBytesEqual(_BunchOfBytes, 0, destination, 0, 8); }
public void BytesAvailableShouldReturnNumberOfBytesAvailableForReading() { var buffer = new SimpleByteBuffer(128); var destination = new byte[8]; buffer.Write(_BunchOfBytes, 0, 10); buffer.Read(destination, 0, 4); buffer.Write(_BunchOfBytes, 0, 20); buffer.Read(destination, 0, 8); buffer.Write(_BunchOfBytes, 0, 5); buffer.Read(destination, 0, 2); buffer.BytesAvailable.ShouldBe(35 - 14); }
public void WriteShouldWriteBytesToTheBuffer() { var buffer = new SimpleByteBuffer(8); buffer.Write(_BunchOfBytes, 0, 4); buffer.BufferSize.ShouldBe(8); buffer.BytesAvailable.ShouldBe(4); }
public void ReadShouldReturnActualNumberOfBytesRead() { var buffer = new SimpleByteBuffer(8); buffer.Write(_BunchOfBytes, 0, 8); var destination = new byte[16]; buffer.Read(destination, 0, 16).ShouldBe(8); }
public void ReadShouldReadBytesFromTheBuffer() { var buffer = new SimpleByteBuffer(8); var destination = new byte[8]; buffer.Write(_BunchOfBytes, 0, 8); buffer.Read(destination, 0, 8).ShouldBe(8); Assert2.AreBytesEqual(_BunchOfBytes, 0, destination, 0, 8); }
public void ReadShouldReadBytesAtSpecifiedOffset() { var buffer = new SimpleByteBuffer(8); var destination = new byte[8]; buffer.Write(_BunchOfBytes, 0, 8); buffer.Read(destination, 4, 4).ShouldBe(4); Assert2.AreBytesEqual(_BunchOfBytes, 0, destination, 4, 4); }
public void MultipleReadsShouldReadDataSequentially() { var buffer = new SimpleByteBuffer(8); var destination1 = new byte[4]; var destination2 = new byte[4]; buffer.Write(_BunchOfBytes, 0, 8); buffer.Read(destination1, 0, 4).ShouldBe(4); buffer.Read(destination2, 0, 4).ShouldBe(4); Assert2.AreBytesEqual(_BunchOfBytes, 0, destination1, 0, 4); Assert2.AreBytesEqual(_BunchOfBytes, 4, destination2, 0, 4); }
public void ReadPositionAndWritePositionShouldResetWhenAllBytesAreRead() { var buffer = new SimpleByteBuffer(128); buffer.WritePosition.ShouldBe(0); buffer.Write(_BunchOfBytes, 0, 10); buffer.WritePosition.ShouldBe(10); buffer.Write(_BunchOfBytes, 0, 5); buffer.WritePosition.ShouldBe(15); buffer.Write(_BunchOfBytes, 0, 20); buffer.WritePosition.ShouldBe(35); var destination = new byte[20]; buffer.ReadPosition.ShouldBe(0); buffer.Read(destination, 0, 20).ShouldBe(20); buffer.ReadPosition.ShouldBe(20); buffer.Read(destination, 0, 5).ShouldBe(5); buffer.ReadPosition.ShouldBe(25); buffer.Read(destination, 0, 10).ShouldBe(10); buffer.WritePosition.ShouldBe(0); buffer.ReadPosition.ShouldBe(0); }