76 lines
2.7 KiB
C#
76 lines
2.7 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();
|
|
}
|
|
|
|
[TestCase("0.5", TextSpeedSettings.SlowMultiplier, TextSpeedSettings.SlowValue)]
|
|
[TestCase("0.50", TextSpeedSettings.SlowMultiplier, TextSpeedSettings.SlowValue)]
|
|
[TestCase("1", TextSpeedSettings.DefaultMultiplier, TextSpeedSettings.DefaultValue)]
|
|
[TestCase("1.0", TextSpeedSettings.DefaultMultiplier, TextSpeedSettings.DefaultValue)]
|
|
[TestCase("3", TextSpeedSettings.FastMultiplier, TextSpeedSettings.FastValue)]
|
|
[TestCase("3.0", TextSpeedSettings.FastMultiplier, TextSpeedSettings.FastValue)]
|
|
public void TryNormalize_SupportedNumericValue_ReturnsCanonicalValue(
|
|
string rawValue,
|
|
float expectedMultiplier,
|
|
string expectedCanonicalValue)
|
|
{
|
|
var result = TextSpeedSettings.TryNormalize(
|
|
rawValue,
|
|
out var multiplier,
|
|
out var canonicalValue);
|
|
|
|
Assert.That(result, Is.True);
|
|
Assert.That(multiplier, Is.EqualTo(expectedMultiplier));
|
|
Assert.That(canonicalValue, Is.EqualTo(expectedCanonicalValue));
|
|
}
|
|
|
|
[TestCase(null)]
|
|
[TestCase("")]
|
|
[TestCase(" ")]
|
|
[TestCase("invalid")]
|
|
[TestCase("NaN")]
|
|
[TestCase("Infinity")]
|
|
[TestCase("-1")]
|
|
[TestCase("0")]
|
|
[TestCase("2")]
|
|
[TestCase("4")]
|
|
public void TryNormalize_InvalidOrUnsupportedValue_ReturnsDefault(
|
|
string rawValue)
|
|
{
|
|
var result = TextSpeedSettings.TryNormalize(
|
|
rawValue,
|
|
out var multiplier,
|
|
out var canonicalValue);
|
|
|
|
Assert.That(result, Is.False);
|
|
Assert.That(multiplier, Is.EqualTo(TextSpeedSettings.DefaultMultiplier));
|
|
Assert.That(canonicalValue, Is.EqualTo(TextSpeedSettings.DefaultValue));
|
|
}
|
|
|
|
[Test]
|
|
public void Reset_AfterApplyingFastValue_RestoresDefault()
|
|
{
|
|
Assert.That(TextSpeedSettings.ApplyStoredValue("3"), Is.True);
|
|
Assert.That(TextSpeedSettings.CurrentMultiplier, Is.EqualTo(TextSpeedSettings.FastMultiplier));
|
|
|
|
TextSpeedSettings.Reset();
|
|
|
|
Assert.That(TextSpeedSettings.CurrentMultiplier, Is.EqualTo(TextSpeedSettings.DefaultMultiplier));
|
|
Assert.That(TextSpeedSettings.CurrentCanonicalValue, Is.EqualTo(TextSpeedSettings.DefaultValue));
|
|
}
|
|
}
|
|
}
|