Dim.FuncTests.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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 (f1);
  14. Assert.Equal (dim1, dim2);
  15. dim2 = Func (f2);
  16. Assert.NotEqual (dim1, dim2);
  17. f2 = () => 1;
  18. dim2 = Func (f2);
  19. Assert.NotEqual (dim1, dim2);
  20. }
  21. [Fact]
  22. public void DimFunc_SetsValue ()
  23. {
  24. var text = "Test";
  25. Dim dim = Func (() => text.Length);
  26. Assert.Equal ("DimFunc(4)", dim.ToString ());
  27. text = "New Test";
  28. Assert.Equal ("DimFunc(8)", dim.ToString ());
  29. text = "";
  30. Assert.Equal ("DimFunc(0)", dim.ToString ());
  31. }
  32. [Fact]
  33. public void DimFunc_Calculate_ReturnsCorrectValue ()
  34. {
  35. var dim = new DimFunc (() => 10);
  36. int result = dim.Calculate (0, 100, null, Dimension.None);
  37. Assert.Equal (10, result);
  38. }
  39. }