ConstrainedTests.cs 3.0 KB

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