Pos.FuncTests.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using Xunit.Abstractions;
  2. namespace Terminal.Gui.LayoutTests;
  3. public class PosFuncTests (ITestOutputHelper output)
  4. {
  5. private readonly ITestOutputHelper _output = output;
  6. [Fact]
  7. public void PosFunc_Equal ()
  8. {
  9. Func<int> f1 = () => 0;
  10. Func<int> f2 = () => 0;
  11. Pos pos1 = Pos.Func (f1);
  12. Pos pos2 = Pos.Func (f2);
  13. Assert.Equal (pos1, pos2);
  14. f2 = () => 1;
  15. pos2 = Pos.Func (f2);
  16. Assert.NotEqual (pos1, pos2);
  17. }
  18. [Fact]
  19. public void PosFunc_SetsValue ()
  20. {
  21. var text = "Test";
  22. Pos pos = Pos.Func (() => text.Length);
  23. Assert.Equal ("PosFunc(4)", pos.ToString ());
  24. text = "New Test";
  25. Assert.Equal ("PosFunc(8)", pos.ToString ());
  26. text = "";
  27. Assert.Equal ("PosFunc(0)", pos.ToString ());
  28. }
  29. [Fact]
  30. public void PosFunc_Calculate_ReturnsCorrectValue ()
  31. {
  32. var pos = new PosFunc (() => 10);
  33. int result = pos.Calculate (0, 100, null, Dimension.None);
  34. Assert.Equal (10, result);
  35. }
  36. }