public void Should_correctly_reserve_memory_when_buffer_grows_twice_as_large() { buffer.Write(1); buffer.Write(2); buffer.Position.Should().Be(8); memoryManager.Received(1).TryReserveBytes(4); }
public void Should_reserve_current_capacity_in_memory_manager_when_growing_twice() { buffer.Write(Guid.NewGuid()); buffer.Write(int.MaxValue); manager.ReceivedCalls().Should().HaveCount(1); manager.Received().TryReserveBytes(InitialSize); buffer.Write(Guid.NewGuid()); manager.ReceivedCalls().Should().HaveCount(2); manager.Received().TryReserveBytes(InitialSize); }
public void Should_respect_underlying_memory_manager(bool isMemoryAvailable, int amount) { underlyingMemoryManager.TryReserveBytes(0).ReturnsForAnyArgs(isMemoryAvailable); memoryManager.TryReserveBytes(1).Should().Be(isMemoryAvailable); underlyingMemoryManager.Received(1).TryReserveBytes(1); }
public void Should_preallocate_initial_buffers_in_ctor() { memoryManager.Received(3).TryCreateBuffer(out _); }
public void Should_control_memory_usage_with_memoryManager(bool canAllocate) { memoryManager.TryReserveBytes(0).ReturnsForAnyArgs(canAllocate); bufferPool.TryAcquire(out _).Should().Be(canAllocate); memoryManager.Received(1).TryReserveBytes(InitialBufferSize); }