ConstrainedTests.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. using NUnit.Framework;
  2. using QuestPDF.Drawing;
  3. using QuestPDF.Elements;
  4. using QuestPDF.Infrastructure;
  5. using QuestPDF.UnitTests.TestEngine;
  6. namespace QuestPDF.UnitTests
  7. {
  8. [TestFixture]
  9. public class ConstrainedTests
  10. {
  11. #region Height
  12. [Test]
  13. public void Measure_MinHeight_ExpectWrap()
  14. {
  15. TestPlan
  16. .For(x => new Constrained
  17. {
  18. MinHeight = 100
  19. })
  20. .MeasureElement(new Size(400, 50))
  21. .CheckMeasureResult(SpacePlan.Wrap());
  22. }
  23. [Test]
  24. public void Measure_MinHeight_ExtendHeight()
  25. {
  26. TestPlan
  27. .For(x => new Constrained
  28. {
  29. MinHeight = 100,
  30. Child = x.CreateChild()
  31. })
  32. .MeasureElement(new Size(400, 200))
  33. .ExpectChildMeasure(new Size(400, 200), SpacePlan.FullRender(400, 50))
  34. .CheckMeasureResult(SpacePlan.FullRender(400, 100));
  35. }
  36. [Test]
  37. public void Measure_MinHeight_PassHeight()
  38. {
  39. TestPlan
  40. .For(x => new Constrained
  41. {
  42. MinHeight = 100,
  43. Child = x.CreateChild()
  44. })
  45. .MeasureElement(new Size(400, 200))
  46. .ExpectChildMeasure(new Size(400, 200), SpacePlan.FullRender(400, 150))
  47. .CheckMeasureResult(SpacePlan.FullRender(400, 150));
  48. }
  49. [Test]
  50. public void Measure_MaxHeight_Empty()
  51. {
  52. TestPlan
  53. .For(x => new Constrained
  54. {
  55. MaxHeight = 100
  56. })
  57. .MeasureElement(new Size(400, 150))
  58. .CheckMeasureResult(SpacePlan.FullRender(0, 0));
  59. }
  60. [Test]
  61. public void Measure_MaxHeight_PartialRender()
  62. {
  63. TestPlan
  64. .For(x => new Constrained
  65. {
  66. MaxHeight = 100,
  67. Child = x.CreateChild()
  68. })
  69. .MeasureElement(new Size(400, 200))
  70. .ExpectChildMeasure(new Size(400, 100), SpacePlan.PartialRender(400, 75))
  71. .CheckMeasureResult(SpacePlan.PartialRender(400, 75));
  72. }
  73. [Test]
  74. public void Measure_MaxHeight_ExpectWrap()
  75. {
  76. TestPlan
  77. .For(x => new Constrained
  78. {
  79. MaxHeight = 100,
  80. Child = x.CreateChild()
  81. })
  82. .MeasureElement(new Size(400, 200))
  83. .ExpectChildMeasure(new Size(400, 100), SpacePlan.Wrap())
  84. .CheckMeasureResult(SpacePlan.Wrap());
  85. }
  86. #endregion
  87. #region Width
  88. [Test]
  89. public void Measure_MinWidth_ExpectWrap()
  90. {
  91. TestPlan
  92. .For(x => new Constrained
  93. {
  94. MinWidth = 100
  95. })
  96. .MeasureElement(new Size(50, 400))
  97. .CheckMeasureResult(SpacePlan.Wrap());
  98. }
  99. [Test]
  100. public void Measure_MinWidth_ExtendHeight()
  101. {
  102. TestPlan
  103. .For(x => new Constrained
  104. {
  105. MinWidth = 100,
  106. Child = x.CreateChild()
  107. })
  108. .MeasureElement(new Size(200, 400))
  109. .ExpectChildMeasure(new Size(200, 400), SpacePlan.FullRender(50, 400))
  110. .CheckMeasureResult(SpacePlan.FullRender(100, 400));
  111. }
  112. [Test]
  113. public void Measure_MinWidth_PassHeight()
  114. {
  115. TestPlan
  116. .For(x => new Constrained
  117. {
  118. MinWidth = 100,
  119. Child = x.CreateChild()
  120. })
  121. .MeasureElement(new Size(200, 400))
  122. .ExpectChildMeasure(new Size(200, 400), SpacePlan.FullRender(150, 400))
  123. .CheckMeasureResult(SpacePlan.FullRender(150, 400));
  124. }
  125. [Test]
  126. public void Measure_MaxWidth_Empty()
  127. {
  128. TestPlan
  129. .For(x => new Constrained
  130. {
  131. MaxWidth = 100
  132. })
  133. .MeasureElement(new Size(150, 400))
  134. .CheckMeasureResult(SpacePlan.FullRender(0, 0));
  135. }
  136. [Test]
  137. public void Measure_MaxWidth_PartialRender()
  138. {
  139. TestPlan
  140. .For(x => new Constrained
  141. {
  142. MaxWidth = 100,
  143. Child = x.CreateChild()
  144. })
  145. .MeasureElement(new Size(200, 400))
  146. .ExpectChildMeasure(new Size(100, 400), SpacePlan.PartialRender(75, 400))
  147. .CheckMeasureResult(SpacePlan.PartialRender(75, 400));
  148. }
  149. [Test]
  150. public void Measure_MaxWidth_ExpectWrap()
  151. {
  152. TestPlan
  153. .For(x => new Constrained
  154. {
  155. MaxWidth = 100,
  156. Child = x.CreateChild()
  157. })
  158. .MeasureElement(new Size(200, 400))
  159. .ExpectChildMeasure(new Size(100, 400), SpacePlan.Wrap())
  160. .CheckMeasureResult(SpacePlan.Wrap());
  161. }
  162. #endregion
  163. }
  164. }