feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization
This commit is contained in:
parent
a88aafa1e5
commit
0e568f1f0a
975 changed files with 130593 additions and 16783 deletions
|
|
@ -0,0 +1,76 @@
|
|||
using System;
|
||||
using Paca.Mobile.Core;
|
||||
using Xunit;
|
||||
|
||||
namespace Paca.Tests.Mobile;
|
||||
|
||||
/// <summary>
|
||||
/// Gate 195 ~ 198: 모바일 배터리 발열 가드 & 네이티브 햅틱 피드백 기계적 검증
|
||||
/// </summary>
|
||||
public class MobileBatteryGuardAndHapticGateTests
|
||||
{
|
||||
private class MockHapticService : IHapticFeedbackService
|
||||
{
|
||||
public int SuccessCount { get; private set; }
|
||||
public int WarningCount { get; private set; }
|
||||
public int ClickCount { get; private set; }
|
||||
|
||||
public void PerformClick() => ClickCount++;
|
||||
public void PerformSuccess() => SuccessCount++;
|
||||
public void PerformWarning() => WarningCount++;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Gate195_BatteryHealthGuard_PausesOnLowBattery_WhenDischarging()
|
||||
{
|
||||
// 배터리 15% (0.15), 방전 중 (충전기 미연결)
|
||||
var shouldPause = BatteryHealthGuard.ShouldPauseDownload(
|
||||
batteryLevel: 0.15,
|
||||
isCharging: false,
|
||||
lowBatteryThreshold: 0.20
|
||||
);
|
||||
|
||||
Assert.True(shouldPause);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Gate196_BatteryHealthGuard_Allows_WhenCharging()
|
||||
{
|
||||
// 배터리 10% (0.10), 충전기 연결됨
|
||||
var shouldPause = BatteryHealthGuard.ShouldPauseDownload(
|
||||
batteryLevel: 0.10,
|
||||
isCharging: true,
|
||||
lowBatteryThreshold: 0.20
|
||||
);
|
||||
|
||||
Assert.False(shouldPause);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Gate197_HapticFeedbackService_Invocation_Audit()
|
||||
{
|
||||
var haptic = new MockHapticService();
|
||||
|
||||
haptic.PerformClick();
|
||||
haptic.PerformSuccess();
|
||||
haptic.PerformSuccess();
|
||||
haptic.PerformWarning();
|
||||
|
||||
Assert.Equal(1, haptic.ClickCount);
|
||||
Assert.Equal(2, haptic.SuccessCount);
|
||||
Assert.Equal(1, haptic.WarningCount);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Gate198_BatteryStatusReport_Message_Formatting()
|
||||
{
|
||||
var message = BatteryHealthGuard.GetStatusMessage(
|
||||
batteryLevel: 0.12,
|
||||
isCharging: false
|
||||
);
|
||||
|
||||
Assert.Contains("12%", message);
|
||||
Assert.Contains("일시 정지", message);
|
||||
Assert.Contains("충전기", message);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue