95 lines
2.8 KiB
C#
95 lines
2.8 KiB
C#
using NUnit.Framework;
|
|
|
|
namespace AibisDream.SystemEditor.Tests
|
|
{
|
|
public sealed class TextSpeedSettingsTests
|
|
{
|
|
[SetUp]
|
|
public void SetUp()
|
|
{
|
|
TextSpeedSettings.Reset();
|
|
}
|
|
|
|
[TearDown]
|
|
public void TearDown()
|
|
{
|
|
TextSpeedSettings.Reset();
|
|
}
|
|
|
|
[Test]
|
|
public void Normalize_MapsEverySupportedValueToCanonicalForm()
|
|
{
|
|
AssertNormalized(
|
|
"0.5",
|
|
TextSpeedSettings.SlowMultiplier,
|
|
TextSpeedSettings.SlowValue);
|
|
AssertNormalized(
|
|
"1.0",
|
|
TextSpeedSettings.DefaultMultiplier,
|
|
TextSpeedSettings.DefaultValue);
|
|
AssertNormalized(
|
|
"3",
|
|
TextSpeedSettings.FastMultiplier,
|
|
TextSpeedSettings.FastValue);
|
|
}
|
|
|
|
[Test]
|
|
public void Normalize_RejectsInvalidAndUnsupportedValues()
|
|
{
|
|
foreach (var rawValue in new[]
|
|
{
|
|
null,
|
|
string.Empty,
|
|
"invalid",
|
|
"NaN",
|
|
"Infinity",
|
|
"0",
|
|
"2",
|
|
"4"
|
|
})
|
|
{
|
|
Assert.That(
|
|
TextSpeedSettings.TryNormalize(
|
|
rawValue,
|
|
out var multiplier,
|
|
out var canonicalValue),
|
|
Is.False,
|
|
rawValue);
|
|
Assert.That(multiplier, Is.EqualTo(TextSpeedSettings.DefaultMultiplier));
|
|
Assert.That(canonicalValue, Is.EqualTo(TextSpeedSettings.DefaultValue));
|
|
}
|
|
}
|
|
|
|
[Test]
|
|
public void Reset_RestoresDefaultAfterRuntimeChange()
|
|
{
|
|
Assert.That(TextSpeedSettings.ApplyStoredValue("3"), Is.True);
|
|
|
|
TextSpeedSettings.Reset();
|
|
|
|
Assert.That(
|
|
TextSpeedSettings.CurrentMultiplier,
|
|
Is.EqualTo(TextSpeedSettings.DefaultMultiplier));
|
|
Assert.That(
|
|
TextSpeedSettings.CurrentCanonicalValue,
|
|
Is.EqualTo(TextSpeedSettings.DefaultValue));
|
|
}
|
|
|
|
private static void AssertNormalized(
|
|
string rawValue,
|
|
float expectedMultiplier,
|
|
string expectedCanonicalValue)
|
|
{
|
|
Assert.That(
|
|
TextSpeedSettings.TryNormalize(
|
|
rawValue,
|
|
out var multiplier,
|
|
out var canonicalValue),
|
|
Is.True,
|
|
rawValue);
|
|
Assert.That(multiplier, Is.EqualTo(expectedMultiplier));
|
|
Assert.That(canonicalValue, Is.EqualTo(expectedCanonicalValue));
|
|
}
|
|
}
|
|
}
|