ExtendTests.cs 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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 ExtendTests
  10. {
  11. [Test]
  12. public void Measure_ShouldHandleNullChild() => new Extend().MeasureWithoutChild();
  13. [Test]
  14. public void Draw_ShouldHandleNullChild() => new Extend().DrawWithoutChild();
  15. [Test]
  16. public void Measure_ReturnsWrap_WhenChildReturnsWrap()
  17. {
  18. TestPlan
  19. .For(x => new Extend
  20. {
  21. Child = x.CreateChild()
  22. })
  23. .MeasureElement(new Size(400, 200))
  24. .ExpectChildMeasure(new Size(400, 200), new Wrap())
  25. .CheckMeasureResult(new Wrap());
  26. }
  27. [Test]
  28. public void Measure_ReturnsPartialRender_WhenChildReturnsPartialRender()
  29. {
  30. TestPlan
  31. .For(x => new Extend
  32. {
  33. Child = x.CreateChild(),
  34. ExtendHorizontal = true,
  35. ExtendVertical = true
  36. })
  37. .MeasureElement(new Size(400, 200))
  38. .ExpectChildMeasure(new Size(400, 200), new PartialRender(300, 100))
  39. .CheckMeasureResult(new PartialRender(400, 200));
  40. }
  41. [Test]
  42. public void Measure_ReturnsFullRender_WhenChildReturnsFullRender()
  43. {
  44. TestPlan
  45. .For(x => new Extend
  46. {
  47. Child = x.CreateChild(),
  48. ExtendHorizontal = true,
  49. ExtendVertical = true
  50. })
  51. .MeasureElement(new Size(400, 200))
  52. .ExpectChildMeasure(new Size(400, 200), new FullRender(300, 100))
  53. .CheckMeasureResult(new FullRender(400, 200));
  54. }
  55. [Test]
  56. public void Measure_ExtendHorizontal()
  57. {
  58. TestPlan
  59. .For(x => new Extend
  60. {
  61. Child = x.CreateChild(),
  62. ExtendHorizontal = true,
  63. ExtendVertical = false
  64. })
  65. .MeasureElement(new Size(400, 200))
  66. .ExpectChildMeasure(new Size(400, 200), new FullRender(100, 100))
  67. .CheckMeasureResult(new FullRender(400, 100));
  68. }
  69. [Test]
  70. public void Measure_ExtendVertical()
  71. {
  72. TestPlan
  73. .For(x => new Extend
  74. {
  75. Child = x.CreateChild(),
  76. ExtendHorizontal = false,
  77. ExtendVertical = true
  78. })
  79. .MeasureElement(new Size(400, 200))
  80. .ExpectChildMeasure(new Size(400, 200), new FullRender(100, 100))
  81. .CheckMeasureResult(new FullRender(100, 200));
  82. }
  83. }
  84. }