PaddingTests.cs 2.6 KB

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