ConstrainedTests.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. [Test]
  12. public void Measure_MinHeight_ExpectWrap()
  13. {
  14. TestPlan
  15. .For(x => new Constrained
  16. {
  17. MinHeight = 100
  18. })
  19. .MeasureElement(new Size(400, 50))
  20. .CheckMeasureResult(SpacePlan.Wrap());
  21. }
  22. [Test]
  23. public void Measure_MinHeight_ExtendHeight()
  24. {
  25. TestPlan
  26. .For(x => new Constrained
  27. {
  28. MinHeight = 100,
  29. Child = x.CreateChild()
  30. })
  31. .MeasureElement(new Size(400, 200))
  32. .ExpectChildMeasure(new Size(400, 200), SpacePlan.FullRender(400, 50))
  33. .CheckMeasureResult(SpacePlan.FullRender(400, 100));
  34. }
  35. [Test]
  36. public void Measure_MinHeight_PassHeight()
  37. {
  38. TestPlan
  39. .For(x => new Constrained
  40. {
  41. MinHeight = 100,
  42. Child = x.CreateChild()
  43. })
  44. .MeasureElement(new Size(400, 200))
  45. .ExpectChildMeasure(new Size(400, 200), SpacePlan.FullRender(400, 150))
  46. .CheckMeasureResult(SpacePlan.FullRender(400, 150));
  47. }
  48. [Test]
  49. public void Measure_MaxHeight_Empty()
  50. {
  51. TestPlan
  52. .For(x => new Constrained
  53. {
  54. MaxHeight = 100
  55. })
  56. .MeasureElement(new Size(400, 150))
  57. .CheckMeasureResult(SpacePlan.FullRender(0, 0));
  58. }
  59. [Test]
  60. public void Measure_MaxHeight_PartialRender()
  61. {
  62. TestPlan
  63. .For(x => new Constrained
  64. {
  65. MaxHeight = 100,
  66. Child = x.CreateChild()
  67. })
  68. .MeasureElement(new Size(400, 200))
  69. .ExpectChildMeasure(new Size(400, 100), SpacePlan.PartialRender(400, 75))
  70. .CheckMeasureResult(SpacePlan.PartialRender(400, 75));
  71. }
  72. [Test]
  73. public void Measure_MaxHeight_ExpectWrap()
  74. {
  75. TestPlan
  76. .For(x => new Constrained
  77. {
  78. MaxHeight = 100,
  79. Child = x.CreateChild()
  80. })
  81. .MeasureElement(new Size(400, 200))
  82. .ExpectChildMeasure(new Size(400, 100), SpacePlan.Wrap())
  83. .CheckMeasureResult(SpacePlan.Wrap());
  84. }
  85. }
  86. }