mirror of
https://github.com/BillyCool/MariesWonderland.git
synced 2026-05-06 12:53:38 +02:00
Fix up ExploreService APIs and add unit tests
This commit is contained in:
42
tests/Helpers/StaminaHelperTests.cs
Normal file
42
tests/Helpers/StaminaHelperTests.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using MariesWonderland.Data;
|
||||
using MariesWonderland.Helpers;
|
||||
using MariesWonderland.Models.Entities;
|
||||
|
||||
namespace MariesWonderland.Tests.Helpers;
|
||||
|
||||
public class StaminaHelperTests
|
||||
{
|
||||
private static GameConfig ConfigWithCap(int cap) => new() { StaminaMaxCount = cap };
|
||||
|
||||
[Fact]
|
||||
public void AddStamina_BelowCap_AddsFullAmount()
|
||||
{
|
||||
var status = new EntityIUserStatus { StaminaMilliValue = 0 };
|
||||
|
||||
StaminaHelper.AddStamina(status, 50, ConfigWithCap(999), nowMs: 1000L);
|
||||
|
||||
Assert.Equal(50_000, status.StaminaMilliValue);
|
||||
Assert.Equal(1000L, status.StaminaUpdateDatetime);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AddStamina_ExceedsCap_ClampsToMax()
|
||||
{
|
||||
// Start near cap (990 stamina), add 50 → should clamp to 999
|
||||
var status = new EntityIUserStatus { StaminaMilliValue = 990_000 };
|
||||
|
||||
StaminaHelper.AddStamina(status, 50, ConfigWithCap(999), nowMs: 2000L);
|
||||
|
||||
Assert.Equal(999_000, status.StaminaMilliValue);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AddStamina_AlreadyAtCap_DoesNotExceed()
|
||||
{
|
||||
var status = new EntityIUserStatus { StaminaMilliValue = 999_000 };
|
||||
|
||||
StaminaHelper.AddStamina(status, 50, ConfigWithCap(999), nowMs: 3000L);
|
||||
|
||||
Assert.Equal(999_000, status.StaminaMilliValue);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user