Dim.FuncTests.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using Xunit.Abstractions;
  2. using static Terminal.Gui.Dim;
  3. namespace Terminal.Gui.LayoutTests;
  4. public class DimFuncTests (ITestOutputHelper output)
  5. {
  6. private readonly ITestOutputHelper _output = output;
  7. [Fact]
  8. public void DimFunc_Equal ()
  9. {
  10. Func<int> f1 = () => 0;
  11. Func<int> f2 = () => 0;
  12. Dim dim1 = Func (f1);
  13. Dim dim2 = Func (f2);
  14. Assert.Equal (dim1, dim2);
  15. f2 = () => 1;
  16. dim2 = Func (f2);
  17. Assert.NotEqual (dim1, dim2);
  18. }
  19. [Fact]
  20. public void DimFunc_SetsValue ()
  21. {
  22. var text = "Test";
  23. Dim dim = Func (() => 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 DimFunc_Calculate_ReturnsCorrectValue ()
  32. {
  33. var dim = new DimFunc (() => 10);
  34. int result = dim.Calculate (0, 100, null, Dimension.None);
  35. Assert.Equal (10, result);
  36. }
  37. }