PaddingTests.cs 2.6 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 PaddingTests
  10. {
  11. [Test]
  12. public void Measure_ShouldHandleNullChild() => new Padding().MeasureWithoutChild();
  13. [Test]
  14. public void Draw_ShouldHandleNullChild() => new Padding().DrawWithoutChild();
  15. private Padding GetPadding(TestPlan plan)
  16. {
  17. return new Padding()
  18. {
  19. Top = 10,
  20. Right = 20,
  21. Bottom = 30,
  22. Left = 40,
  23. Child = plan.CreateChild()
  24. };
  25. }
  26. [Test]
  27. public void Measure_General_EnoughSpace()
  28. {
  29. TestPlan
  30. .For(GetPadding)
  31. .MeasureElement(new Size(400, 300))
  32. .ExpectChildMeasure(new Size(340, 260), new FullRender(140, 60))
  33. .CheckMeasureResult(new FullRender(200, 100));
  34. }
  35. [Test]
  36. public void Measure_NotEnoughWidth()
  37. {
  38. TestPlan
  39. .For(GetPadding)
  40. .MeasureElement(new Size(50, 300))
  41. .CheckMeasureResult(new Wrap());
  42. }
  43. [Test]
  44. public void Measure_NotEnoughHeight()
  45. {
  46. TestPlan
  47. .For(GetPadding)
  48. .MeasureElement(new Size(20, 300))
  49. .CheckMeasureResult(new Wrap());
  50. }
  51. [Test]
  52. public void Measure_AcceptsPartialRender()
  53. {
  54. TestPlan
  55. .For(GetPadding)
  56. .MeasureElement(new Size(400, 300))
  57. .ExpectChildMeasure(new Size(340, 260), new PartialRender(40, 160))
  58. .CheckMeasureResult(new PartialRender(100, 200));
  59. }
  60. [Test]
  61. public void Measure_AcceptsWrap()
  62. {
  63. TestPlan
  64. .For(GetPadding)
  65. .MeasureElement(new Size(400, 300))
  66. .ExpectChildMeasure(new Size(340, 260), new Wrap())
  67. .CheckMeasureResult(new Wrap());
  68. }
  69. [Test]
  70. public void Draw_General()
  71. {
  72. TestPlan
  73. .For(GetPadding)
  74. .DrawElement(new Size(400, 300))
  75. .ExpectCanvasTranslate(new Position(40, 10))
  76. .ExpectChildDraw(new Size(340, 260))
  77. .ExpectCanvasTranslate(new Position(-40, -10))
  78. .CheckDrawResult();
  79. }
  80. }
  81. }