releases/tests/Paca.Tests/E2E/GpuAndBatterySettingsGateTests.cs

61 lines
2.5 KiB
C#

using System;
using Paca.Core.Config;
using Paca.Tests.Infrastructure;
using Xunit;
namespace Paca.Tests.E2E;
public class GpuAndBatterySettingsGateTests
{
[Fact]
public void Gate253_AppConfig_GpuAndBatterySettings_PropertiesExist()
{
var config = new AppConfig();
Assert.True(config.EnableGpuHardwareAcceleration);
Assert.Equal("Auto", config.PreferredGpuBackend);
Assert.Equal("Auto", config.PreferredVideoCodec);
Assert.True(config.EnableBatterySaver);
Assert.Equal(20, config.BatterySaverThresholdPercent);
Assert.True(config.BatterySaverThrottleBandwidth);
}
[Fact]
public void Gate254_SettingsWindow_GpuAndBatteryControls_ExistInXaml()
{
var xaml = SourceTree.SettingsWindowXaml;
// GPU 하드웨어 가속 컨트롤 존재 확인
Assert.Contains("x:Name=\"EnableGpuAccelerationBox\"", xaml);
Assert.Contains("x:Name=\"PreferredGpuBackendBox\"", xaml);
Assert.Contains("x:Name=\"PreferredVideoCodecBox\"", xaml);
// 배터리 세이버 전력 관리 컨트롤 존재 확인
Assert.Contains("x:Name=\"EnableBatterySaverBox\"", xaml);
Assert.Contains("x:Name=\"BatterySaverThresholdBox\"", xaml);
Assert.Contains("x:Name=\"BatterySaverThrottleBox\"", xaml);
// 접근성 및 스크린 리더 계약 검증
Assert.Contains("AutomationProperties.Name=\"GPU 하드웨어 가속 활성화\"", xaml);
Assert.Contains("AutomationProperties.Name=\"선호 GPU 인코더 백엔드\"", xaml);
Assert.Contains("AutomationProperties.Name=\"선호 대상 비디오 코덱\"", xaml);
Assert.Contains("AutomationProperties.Name=\"배터리 세이버 전력 관리 활성화\"", xaml);
Assert.Contains("AutomationProperties.Name=\"배터리 절전 임계치\"", xaml);
Assert.Contains("AutomationProperties.Name=\"절전 시 다운로드 대역폭 제한\"", xaml);
}
[Fact]
public void Gate255_SettingsWindow_Cs_GpuAndBatterySettings_LoadAndSaveBinding()
{
var cs = SourceTree.SettingsWindowCs;
Assert.Contains("EnableGpuAccelerationBox.IsChecked", cs);
Assert.Contains("PreferredGpuBackendBox.SelectedValue", cs);
Assert.Contains("PreferredVideoCodecBox.SelectedValue", cs);
Assert.Contains("EnableBatterySaverBox.IsChecked", cs);
Assert.Contains("BatterySaverThresholdBox.Text", cs);
Assert.Contains("BatterySaverThrottleBox.IsChecked", cs);
}
}