private byte[] GetInternalBuffer(ExpandableBuffer expandableBuffer) { var bufferFieldInfo = typeof (ExpandableBuffer).GetField("_buffer", BindingFlags.NonPublic | BindingFlags.Instance); Assert.IsNotNull(bufferFieldInfo); return (byte[]) bufferFieldInfo.GetValue(expandableBuffer); }
public void GetRangeFailsForEmptyBuffer() { var buffer = new ExpandableBuffer(); var tempBuffer = new byte[100]; buffer.GetRange(0, tempBuffer, 0, tempBuffer.Length); }
public void RepeatedAddRangeIncreasesCapacityToTwoTimesWithFillFactor05Test() { // Arrange var buffer = new ExpandableBuffer(0.5); var tempBuffer = new byte[10]; // Act const int repeatCount = 5; for (var i = 0; i < repeatCount; i++) { buffer.AddRange(tempBuffer, tempBuffer.Length); } // Assert var internalBuffer = GetInternalBuffer(buffer); Assert.AreEqual(60, internalBuffer.Length); /* Attempt Length InternalBufferLength * before 0 0 * 0. 10 20 <--- increases with fillfactor = 0.5 * 1. 20 20 * 2. 30 60 <--- increases with fillfactor = 0.5 * 3. 40 60 * 4. 50 60 */ }
public void GetRangeFailsWithIncorrectPositionArgument() { var incorrectPosition = -1; var buffer = new ExpandableBuffer(); var tempBuffer = new byte[100]; buffer.GetRange(incorrectPosition, tempBuffer, 0, tempBuffer.Length); }
private byte[] GetInternalBuffer(ExpandableBuffer expandableBuffer) { var bufferFieldInfo = typeof(ExpandableBuffer).GetField("_buffer", BindingFlags.NonPublic | BindingFlags.Instance); Assert.IsNotNull(bufferFieldInfo); return((byte[])bufferFieldInfo.GetValue(expandableBuffer)); }
public void ExpandableBufferCleansTest() { var buffer = new ExpandableBuffer(); var tempBuffer = new byte[] { 1, 2, 3, 4, 5, 6, 7 }; buffer.AddRange(tempBuffer, tempBuffer.Length); Assert.AreEqual(tempBuffer.Length, buffer.Length); buffer.Clear(); Assert.AreEqual(0, buffer.Length); }
public void ExpandableBufferFailsToAddRangeWithNullBufferTest() { var buffer = new ExpandableBuffer(); var exception = Assert.Throws <ArgumentNullException> ( () => { const byte[] nullBuffer = null; buffer.AddRange(nullBuffer, 100); } ); Assert.AreEqual(@"buffer", exception.ParamName); }
public void ExpandableBufferFailsToAddRangeWithLengthGreaterThanBufferLengthTest() { var buffer = new ExpandableBuffer(); var tempBuffer = new byte[] { 1, 2, 3, 4, 5, 6, 7 }; var exception = Assert.Throws <ArgumentOutOfRangeException> ( () => { var tooLargeCount = tempBuffer.Length + 1; buffer.AddRange(tempBuffer, tooLargeCount); } ); Assert.AreEqual(@"count", exception.ParamName); }
public void GetRangeFailsWithIncorrectPositionArgumentTest() { var buffer = new ExpandableBuffer(); var exception = Assert.Throws <ArgumentOutOfRangeException> ( () => { const int incorrectPosition = -1; var tempBuffer = new byte[100]; buffer.GetRange(incorrectPosition, tempBuffer, 0, tempBuffer.Length); } ); Assert.AreEqual(@"position", exception.ParamName); }
public void ExpandableBufferFailsToAddRangeWithZeroLengthTest() { var buffer = new ExpandableBuffer(); var tempBuffer = new byte[] { 1, 2, 3, 4, 5, 6, 7 }; var exception = Assert.Throws <ArgumentOutOfRangeException> ( () => { const int incorrectZeroCount = 0; buffer.AddRange(tempBuffer, incorrectZeroCount); } ); Assert.AreEqual(@"count", exception.ParamName); }
public void GetRangeFailsWithNullBufferArgumentTest() { var buffer = new ExpandableBuffer(); buffer.AddRange(new byte[10], 10); var exception = Assert.Throws <ArgumentNullException> ( () => { const byte[] incorrectTempBuffer = null; buffer.GetRange(0, incorrectTempBuffer, 0, 100); } ); Assert.AreEqual(@"buffer", exception.ParamName); }
public void GetRangeFailsWithIncorrectOffsetArgumentTest() { var buffer = new ExpandableBuffer(); buffer.AddRange(new byte[10], 10); var exception = Assert.Throws <ArgumentOutOfRangeException> ( () => { const int incorrectOffset = -1; var tempBuffer = new byte[100]; buffer.GetRange(0, tempBuffer, incorrectOffset, tempBuffer.Length); } ); Assert.AreEqual(@"offset", exception.ParamName); }
public void AddRangeIncreasesCapacityToTwoTimesWithFillFactor05Test() { // Arrange var buffer = new ExpandableBuffer(0.5); var tempBuffer = new byte[10]; // Act buffer.AddRange(tempBuffer, tempBuffer.Length); // Assert var internalBuffer = GetInternalBuffer(buffer); Assert.AreEqual(20, internalBuffer.Length); /* Attempt Length InternalBufferLength * before 0 0 * 0. 10 20 <--- increases with fillfactor = 0.5 */ }
public void SuccessReadAndWriteBufferTest() { // Arrange var buffer = new ExpandableBuffer(); var tempBuffer = new byte[] { 1, 2, 3, 4, 5, 6, 7 }; // Act buffer.AddRange(tempBuffer, tempBuffer.Length); var outputBuffer = new byte[tempBuffer.Length]; var readBytes = buffer.GetRange(0, outputBuffer, 0, outputBuffer.Length); // Assert Assert.AreEqual(readBytes, outputBuffer.Length); for (var i = 0; i < outputBuffer.Length; i++) { Assert.AreEqual(tempBuffer[i], outputBuffer[i]); } }
public void GetRangeFailsWithNullBufferArgument() { var buffer = new ExpandableBuffer(); buffer.AddRange(new byte[10], 10); const byte[] incorrectTempBuffer = null; buffer.GetRange(0, incorrectTempBuffer, 0, 100); }
public void AddRangeIncreasesCapacityToTwoTimesWithFillFactor05() { // Assign var buffer = new ExpandableBuffer(0.5); var tempBuffer = new byte[10]; // Act buffer.AddRange(tempBuffer, tempBuffer.Length); // Assert var internalBuffer = GetInternalBuffer(buffer); Assert.AreEqual(2*tempBuffer.Length, internalBuffer.Length); }
public void ZeroLengthOfNewBuffer() { var buffer = new ExpandableBuffer(); Assert.AreEqual(0, buffer.Length); }
public void RepeatedAddRangeIncreasesCapacityToTwoTimesWithFillFactor05() { // Assign var buffer = new ExpandableBuffer(0.5); var tempBuffer = new byte[10]; var bufferFieldInfo = typeof (ExpandableBuffer).GetField("_buffer", BindingFlags.NonPublic | BindingFlags.Instance); Assert.IsNotNull(bufferFieldInfo); // Act const int repeatCount = 5; for (var i = 0; i < repeatCount; i++) { buffer.AddRange(tempBuffer, tempBuffer.Length); } // Assert var internalBuffer = GetInternalBuffer(buffer); Assert.AreEqual(2*repeatCount*tempBuffer.Length, internalBuffer.Length); }
public void SuccessReadAndWriteBuffers() { // Assign var buffer = new ExpandableBuffer(); var tempBuffer = new byte[] {1, 2, 3, 4, 5, 6, 7}; const int repeatCount = 5; // Act for (var i = 0; i < repeatCount; i++) { buffer.AddRange(tempBuffer, tempBuffer.Length); } var outputBuffer = new byte[tempBuffer.Length*repeatCount]; var readBytes = buffer.GetRange(0, outputBuffer, 0, outputBuffer.Length); // Assert Assert.AreEqual(readBytes, outputBuffer.Length); for (var i = 0; i < outputBuffer.Length; i++) { Assert.AreEqual(tempBuffer[i%tempBuffer.Length], outputBuffer[i]); } }
public void GetRangeFailsWithIncorrectOffsetArgument() { var buffer = new ExpandableBuffer(); buffer.AddRange(new byte[10], 10); var tempBuffer = new byte[100]; const int incorrectOffset = -1; buffer.GetRange(0, tempBuffer, incorrectOffset, tempBuffer.Length); }
public void ZeroLengthOfNewBufferTest() { var buffer = new ExpandableBuffer(); Assert.AreEqual(0, buffer.Length); }