UnconstrainedTests.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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 UnconstrainedTests
  10. {
  11. #region measure
  12. [Test]
  13. public void Measure_Wrap()
  14. {
  15. TestPlan
  16. .For(x => new Unconstrained
  17. {
  18. Child = x.CreateChild()
  19. })
  20. .MeasureElement(new Size(900, 800))
  21. .ExpectChildMeasure(Size.Max, new Wrap())
  22. .CheckMeasureResult(new Wrap());
  23. }
  24. [Test]
  25. public void Measure_PartialRender()
  26. {
  27. TestPlan
  28. .For(x => new Unconstrained
  29. {
  30. Child = x.CreateChild()
  31. })
  32. .MeasureElement(new Size(900, 800))
  33. .ExpectChildMeasure(Size.Max, new PartialRender(1200, 1600))
  34. .CheckMeasureResult(new PartialRender(Size.Zero));
  35. }
  36. [Test]
  37. public void Measure_FullRender()
  38. {
  39. TestPlan
  40. .For(x => new Unconstrained
  41. {
  42. Child = x.CreateChild()
  43. })
  44. .MeasureElement(new Size(900, 800))
  45. .ExpectChildMeasure(Size.Max, new FullRender(1200, 1600))
  46. .CheckMeasureResult(new FullRender(Size.Zero));
  47. }
  48. #endregion
  49. #region draw
  50. [Test]
  51. public void Draw_SkipWhenChildWraps()
  52. {
  53. TestPlan
  54. .For(x => new Unconstrained
  55. {
  56. Child = x.CreateChild()
  57. })
  58. .DrawElement(new Size(900, 800))
  59. .ExpectChildMeasure(Size.Max, new Wrap())
  60. .CheckDrawResult();
  61. }
  62. [Test]
  63. public void Draw_WhenChildPartiallyRenders()
  64. {
  65. TestPlan
  66. .For(x => new Unconstrained
  67. {
  68. Child = x.CreateChild()
  69. })
  70. .DrawElement(new Size(900, 800))
  71. .ExpectChildMeasure(Size.Max, new PartialRender(1200, 1600))
  72. .ExpectChildDraw(new Size(1200, 1600))
  73. .CheckDrawResult();
  74. }
  75. [Test]
  76. public void Draw_WhenChildFullyRenders()
  77. {
  78. TestPlan
  79. .For(x => new Unconstrained
  80. {
  81. Child = x.CreateChild()
  82. })
  83. .DrawElement(new Size(900, 800))
  84. .ExpectChildMeasure(Size.Max, new FullRender(1600, 1000))
  85. .ExpectChildDraw(new Size(1600, 1000))
  86. .CheckDrawResult();
  87. }
  88. #endregion
  89. }
  90. }