LayoutTestResult.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. using QuestPDF.Fluent;
  2. using QuestPDF.Infrastructure;
  3. using QuestPDF.LayoutTests.TestEngine;
  4. namespace QuestPDF.LayoutTests;
  5. public class Tests
  6. {
  7. [SetUp]
  8. public void Setup()
  9. {
  10. }
  11. [Test]
  12. public void Test1()
  13. {
  14. return;
  15. LayoutTest
  16. .HavingSpaceOfSize(200, 400)
  17. .WithContent(content =>
  18. {
  19. content.Column(column =>
  20. {
  21. column.Spacing(25);
  22. column.Item().Mock("a").Size(150, 200);
  23. column.Item().Mock("b").Size(150, 150);
  24. column.Item().Mock("c").Size(150, 100);
  25. column.Item().Mock("d").Size(150, 150);
  26. column.Item().Mock("e").Size(150, 300);
  27. column.Item().Mock("f").Size(150, 150);
  28. column.Item().Mock("g").Size(150, 100);
  29. column.Item().Mock("h").Size(150, 500);
  30. });
  31. })
  32. .ExpectedDrawResult(document =>
  33. {
  34. document
  35. .Page()
  36. .TakenAreaSize(400, 300)
  37. .Content(page =>
  38. {
  39. page.Mock("a").Position(0, 0).Size(250, 200);
  40. page.Mock("b").Position(150, 50).Size(50, 150);
  41. page.Mock("c").Position(200, 100).Size(100, 50);
  42. });
  43. document
  44. .Page()
  45. .TakenAreaSize(400, 300)
  46. .Content(page =>
  47. {
  48. page.Mock("a").Position(0, 0).Size(150, 100);
  49. page.Mock("b").Position(250, 150).Size(50, 150);
  50. page.Mock("c").Position(300, 200).Size(100, 50);
  51. });
  52. });
  53. //.CompareVisually();
  54. }
  55. [Test]
  56. public void Test2()
  57. {
  58. LayoutTest
  59. .HavingSpaceOfSize(200, 200)
  60. .WithContent(content =>
  61. {
  62. content.Column(column =>
  63. {
  64. column.Spacing(25);
  65. column.Item().Mock("a").Size(150, 150);
  66. column.Item().Mock("b").Size(125, 100);
  67. });
  68. })
  69. .ExpectedDrawResult(document =>
  70. {
  71. document
  72. .Page()
  73. .TakenAreaSize(150, 200)
  74. .Content(page =>
  75. {
  76. page.Mock("a").Position(0, 0).Size(150, 150);
  77. page.Mock("b").Position(0, 175).Size(125, 25);
  78. });
  79. document
  80. .Page()
  81. .TakenAreaSize(125, 75)
  82. .Content(page =>
  83. {
  84. page.Mock("b").Position(0, 0).Size(125, 75);
  85. });
  86. })
  87. .Validate();
  88. }
  89. [Test]
  90. public void Test3()
  91. {
  92. LayoutTest
  93. .HavingSpaceOfSize(200, 200)
  94. .WithContent(content =>
  95. {
  96. content.Layers(layers =>
  97. {
  98. layers.Layer().Mock("a").Size(100, 150);
  99. layers.PrimaryLayer().Mock("b").Size(150, 100);
  100. });
  101. })
  102. .ExpectedDrawResult(document =>
  103. {
  104. document
  105. .Page()
  106. .TakenAreaSize(150, 100)
  107. .Content(page =>
  108. {
  109. page.Mock("b").Position(0, 0).Size(150, 100);
  110. page.Mock("a").Position(0, 0).Size(100, 150);
  111. });
  112. document.ExpectInfiniteLayoutException();
  113. })
  114. // .CompareVisually();
  115. .Validate();
  116. }
  117. }