sharpemu/tests/SharpEmu.Libs.Tests/GUI/LibraryLayoutMetricsTests.cs

41 lines
1.1 KiB
C#

// Copyright (C) 2026 SharpEmu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
using SharpEmu.GUI;
using Xunit;
namespace SharpEmu.Libs.Tests.GUI;
public sealed class LibraryLayoutMetricsTests
{
[Fact]
public void Calculate_UsesMaximumCoverSizeForWideWindow()
{
var metrics = LibraryLayoutMetrics.Calculate(1920);
Assert.Equal(LibraryLayoutMetrics.MaximumCoverSize, metrics.CoverSize);
Assert.Equal(160, metrics.ItemWidth);
}
[Fact]
public void Calculate_ShrinksNineTilesToAvailableWidth()
{
const double availableWidth = 1436;
var metrics = LibraryLayoutMetrics.Calculate(availableWidth);
var usedWidth = 24 + (9 * (metrics.ItemWidth + 12));
Assert.Equal(132.89, metrics.CoverSize, 2);
Assert.Equal(availableWidth, usedWidth, 6);
}
[Fact]
public void Calculate_UsesMinimumCoverSizeForNarrowWindow()
{
var metrics = LibraryLayoutMetrics.Calculate(980);
Assert.Equal(LibraryLayoutMetrics.MinimumCoverSize, metrics.CoverSize);
Assert.Equal(124, metrics.ItemWidth);
}
}