UserInputParserTest.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using Content.Shared.Localizations;
  2. using NUnit.Framework;
  3. namespace Content.Tests.Shared.Localizations
  4. {
  5. [TestFixture]
  6. public sealed class UserInputParserTest
  7. {
  8. [Test]
  9. [TestCase("1234.56", 1234.56f, true)]
  10. [TestCase("1234,56", 1234.56f, true)]
  11. [TestCase(" +1234.56 ", 1234.56f, true)]
  12. [TestCase(" -1234.56 ", -1234.56f, true)]
  13. [TestCase("1234.56e7", 0f, false)]
  14. [TestCase("1,234.56", 0f, false)]
  15. [TestCase("1 234,56", 0f, false)]
  16. public void TryFloatTest(string input, float expectedOutput, bool expectedResult)
  17. {
  18. var result = UserInputParser.TryFloat(input, out var output);
  19. Assert.That(result, Is.EqualTo(expectedResult));
  20. Assert.That(output, Is.EqualTo(expectedOutput).Within(float.Epsilon));
  21. }
  22. [Test]
  23. [TestCase("1234.56", 1234.56d, true)]
  24. [TestCase("1234,56", 1234.56d, true)]
  25. [TestCase(" +1234.56 ", 1234.56d, true)]
  26. [TestCase(" -1234.56 ", -1234.56d, true)]
  27. [TestCase("1234.56e7", 0d, false)]
  28. [TestCase("1,234.56", 0d, false)]
  29. [TestCase("1 234,56", 0d, false)]
  30. public void TryDoubleTest(string input, double expectedOutput, bool expectedResult)
  31. {
  32. var result = UserInputParser.TryDouble(input, out var output);
  33. Assert.That(result, Is.EqualTo(expectedResult));
  34. Assert.That(output, Is.EqualTo(expectedOutput).Within(double.Epsilon));
  35. }
  36. }
  37. }