using NATS.Server.IO;

namespace NATS.Server.Transport.Tests;

public class OutboundBufferPoolTests
{
    [Theory]
    [InlineData(100, 512)]
    [InlineData(1000, 4096)]
    [InlineData(10000, 64 * 1024)]
    public void Rent_uses_three_tier_buffer_buckets(int requested, int expectedMinimum)
    {
        var pool = new OutboundBufferPool();
        using var owner = pool.Rent(requested);
        owner.Memory.Length.ShouldBeGreaterThanOrEqualTo(expectedMinimum);
    }
}
