ConditionalsTests.cs 592 B

12345678910111213141516171819202122
  1. namespace Lua.Tests;
  2. public class ConditionalsTests
  3. {
  4. [Test]
  5. public async Task Test_Clamp()
  6. {
  7. var source = @"
  8. function clamp(x, min, max)
  9. return x < min and min or (x > max and max or x)
  10. end
  11. return clamp(0, 1, 25), clamp(10, 1, 25), clamp(30, 1, 25)
  12. ";
  13. var result = await LuaState.Create().DoStringAsync(source);
  14. Assert.That(result, Has.Length.EqualTo(3));
  15. Assert.That(result[0], Is.EqualTo(new LuaValue(1)));
  16. Assert.That(result[1], Is.EqualTo(new LuaValue(10)));
  17. Assert.That(result[2], Is.EqualTo(new LuaValue(25)));
  18. }
  19. }