// Copyright (c) Six Labors and contributors. // Licensed under the Apache License, Version 2.0. // ReSharper disable InconsistentNaming namespace SixLabors.ImageSharp.Tests.Memory { using SixLabors.ImageSharp.Memory; using Xunit; /// /// Tests the class. /// public class PixelDataPoolTests { [Fact] public void PixelDataPoolRentsMinimumSize() { Rgba32[] pixels = PixelDataPool.Rent(1024); Assert.True(pixels.Length >= 1024); } [Fact] public void PixelDataPoolDoesNotThrowWhenReturningNonPooled() { Rgba32[] pixels = new Rgba32[1024]; PixelDataPool.Return(pixels); Assert.True(pixels.Length >= 1024); } [Theory] [InlineData(false)] [InlineData(true)] public void CalculateMaxArrayLength(bool isRawData) { int max = isRawData ? PixelDataPool.CalculateMaxArrayLength() : PixelDataPool.CalculateMaxArrayLength(); Assert.Equal(max > 1024 * 1024, !isRawData); } [Fact] public void RentNonIPixelData() { byte[] data = PixelDataPool.Rent(16384); Assert.True(data.Length >= 16384); } } }