SimpleContainerTests.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using QuestPDF.Drawing;
  2. using QuestPDF.Infrastructure;
  3. namespace QuestPDF.UnitTests.TestEngine
  4. {
  5. internal static class SimpleContainerTests
  6. {
  7. #region measure
  8. public static void Measure<TElement>() where TElement : Element, IContainer, new()
  9. {
  10. Measure_Wrap<TElement>();
  11. Measure_PartialRender<TElement>();
  12. Measure_FullRender<TElement>();
  13. }
  14. private static void Measure_Wrap<TElement>() where TElement : Element, IContainer, new()
  15. {
  16. TestPlan
  17. .For(x => new TElement
  18. {
  19. Child = x.CreateChild()
  20. })
  21. .MeasureElement(new Size(400, 300))
  22. .ExpectChildMeasure(new Size(400, 300), SpacePlan.Wrap("Mock"))
  23. .CheckMeasureResult(SpacePlan.Wrap("Forwarded from child"));
  24. }
  25. private static void Measure_PartialRender<TElement>() where TElement : Element, IContainer, new()
  26. {
  27. TestPlan
  28. .For(x => new TElement
  29. {
  30. Child = x.CreateChild()
  31. })
  32. .MeasureElement(new Size(400, 300))
  33. .ExpectChildMeasure(new Size(400, 300), SpacePlan.PartialRender(200, 100))
  34. .CheckMeasureResult(SpacePlan.PartialRender(200, 100));
  35. }
  36. private static void Measure_FullRender<TElement>() where TElement : Element, IContainer, new()
  37. {
  38. TestPlan
  39. .For(x => new TElement
  40. {
  41. Child = x.CreateChild()
  42. })
  43. .MeasureElement(new Size(400, 300))
  44. .ExpectChildMeasure(new Size(400, 300), SpacePlan.FullRender(250, 150))
  45. .CheckMeasureResult(SpacePlan.FullRender(250, 150));
  46. }
  47. #endregion
  48. public static void Draw<TElement>() where TElement : Element, IContainer, new()
  49. {
  50. TestPlan
  51. .For(x => new TElement
  52. {
  53. Child = x.CreateChild()
  54. })
  55. .DrawElement(new Size(1200, 900))
  56. .ExpectChildDraw(new Size(1200, 900))
  57. .CheckDrawResult();
  58. }
  59. }
  60. }