mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-11-04 15:27:21 +00:00
Added a setting to change the size of the interface (#1136)
Co-authored-by: Thorsten Sommer <SommerEngineering@users.noreply.github.com>
This commit is contained in:
1 parent
c2b62c6dbd
commit
e0337a99bc
27 files changed
+1742
-27
No files matched your search
@@ -0,0 +1,60 @@
|
||||
using AIStudio.Settings.DataModel;
|
||||
|
||||
namespace AIStudio.Tests.Settings;
|
||||
|
||||
/// <summary>
|
||||
/// Checks how the settings remember the interface size of each screen.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// The list keeps the most recently set screen first and forgets the oldest beyond its limit, so that a
|
||||
/// user who meets many screens, e.g., at changing desks, does not grow the settings without end.
|
||||
/// </remarks>
|
||||
[TestFixture]
|
||||
public sealed class InterfaceScreenSizesTests
|
||||
{
|
||||
private const string LAPTOP = "1920x1200@287x179mm";
|
||||
private const string MONITOR = "3840x2160@597x336mm";
|
||||
|
||||
[Test]
|
||||
public void AScreenTheUserChoseNothingForHasNoSize() => Assert.That(new DataApp().GetInterfaceScreenSize(LAPTOP), Is.Null);
|
||||
|
||||
[Test]
|
||||
public void TheMostRecentlySetScreenComesFirst()
|
||||
{
|
||||
var app = new DataApp();
|
||||
app.RememberInterfaceScreenSize(new(LAPTOP, InterfaceSize.APP_DEFAULT, null));
|
||||
app.RememberInterfaceScreenSize(new(MONITOR, InterfaceSize.CUSTOM, 150));
|
||||
|
||||
Assert.That(app.InterfaceScreenSizes.Select(screen => screen.ScreenKey), Is.EqualTo(new[] { MONITOR, LAPTOP }));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SettingAScreenAgainReplacesItsSizeAndMovesItToTheFront()
|
||||
{
|
||||
var app = new DataApp();
|
||||
app.RememberInterfaceScreenSize(new(LAPTOP, InterfaceSize.CUSTOM, 120));
|
||||
app.RememberInterfaceScreenSize(new(MONITOR, InterfaceSize.SYSTEM_SCALING, null));
|
||||
app.RememberInterfaceScreenSize(new(LAPTOP, InterfaceSize.SYSTEM_SCALING, 120));
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(app.InterfaceScreenSizes.Select(screen => screen.ScreenKey), Is.EqualTo(new[] { LAPTOP, MONITOR }));
|
||||
Assert.That(app.GetInterfaceScreenSize(LAPTOP), Is.EqualTo(new InterfaceScreenSize(LAPTOP, InterfaceSize.SYSTEM_SCALING, 120)));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void BeyondTheLimitTheScreenSetTheLongestTimeAgoIsForgotten()
|
||||
{
|
||||
var app = new DataApp();
|
||||
for (var screen = 0; screen <= DataApp.MAX_REMEMBERED_INTERFACE_SCREENS; screen++)
|
||||
app.RememberInterfaceScreenSize(new($"{screen}x1080", InterfaceSize.CUSTOM, 100));
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(app.InterfaceScreenSizes, Has.Count.EqualTo(DataApp.MAX_REMEMBERED_INTERFACE_SCREENS));
|
||||
Assert.That(app.GetInterfaceScreenSize("0x1080"), Is.Null);
|
||||
Assert.That(app.GetInterfaceScreenSize("1x1080"), Is.Not.Null);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user