SimpleContainerTests.cs 2.2 KB

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