Dim.FunctionTests.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using Xunit.Abstractions;
  2. using static Terminal.Gui.Dim;
  3. namespace Terminal.Gui.PosDimTests;
  4. public class DimFunctionTests (ITestOutputHelper output)
  5. {
  6. private readonly ITestOutputHelper _output = output;
  7. [Fact]
  8. public void DimFunction_Equal ()
  9. {
  10. Func<int> f1 = () => 0;
  11. Func<int> f2 = () => 0;
  12. Dim dim1 = Dim.Function (f1);
  13. Dim dim2 = Dim.Function (f2);
  14. Assert.Equal (dim1, dim2);
  15. f2 = () => 1;
  16. dim2 = Dim.Function (f2);
  17. Assert.NotEqual (dim1, dim2);
  18. }
  19. [Fact]
  20. public void DimFunction_SetsValue ()
  21. {
  22. var text = "Test";
  23. Dim dim = Dim.Function (() => text.Length);
  24. Assert.Equal ("DimFunc(4)", dim.ToString ());
  25. text = "New Test";
  26. Assert.Equal ("DimFunc(8)", dim.ToString ());
  27. text = "";
  28. Assert.Equal ("DimFunc(0)", dim.ToString ());
  29. }
  30. [Fact]
  31. public void DimFunction_Calculate_ReturnsCorrectValue ()
  32. {
  33. var dim = new DimFunc (() => 10);
  34. var result = dim.Calculate (0, 100, null, Dim.Dimension.None);
  35. Assert.Equal (10, result);
  36. }
  37. }