TranslateTests.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. namespace QuestPDF.LayoutTests;
  2. public class TranslateTests
  3. {
  4. [Test]
  5. public void HorizontalTranslation()
  6. {
  7. LayoutTest
  8. .HavingSpaceOfSize(100, 120)
  9. .ForContent(content =>
  10. {
  11. content.Shrink().TranslateX(15).Mock("a").SolidBlock(40, 50);
  12. })
  13. .ExpectDrawResult(document =>
  14. {
  15. document
  16. .Page()
  17. .RequiredAreaSize(40, 50)
  18. .Content(page =>
  19. {
  20. page.Mock("a").Position(15, 0).Size(40, 50);
  21. });
  22. });
  23. }
  24. [Test]
  25. public void VerticalTranslation()
  26. {
  27. LayoutTest
  28. .HavingSpaceOfSize(100, 120)
  29. .ForContent(content =>
  30. {
  31. content.Shrink().TranslateY(25).Mock("a").SolidBlock(30, 40);
  32. })
  33. .ExpectDrawResult(document =>
  34. {
  35. document
  36. .Page()
  37. .RequiredAreaSize(30, 40)
  38. .Content(page =>
  39. {
  40. page.Mock("a").Position(0, 25).Size(30, 40);
  41. });
  42. });
  43. }
  44. [Test]
  45. public void MultipleItemsWithTranslation()
  46. {
  47. LayoutTest
  48. .HavingSpaceOfSize(100, 120)
  49. .ForContent(content =>
  50. {
  51. content.Shrink().Column(column =>
  52. {
  53. column.Item().TranslateX(5).TranslateY(10).Mock("a").SolidBlock(40, 20);
  54. column.Item().TranslateX(-10).TranslateY(20).Mock("b").SolidBlock(30, 25);
  55. column.Item().TranslateX(30).TranslateY(-15).Mock("c").SolidBlock(50, 15);
  56. });
  57. })
  58. .ExpectDrawResult(document =>
  59. {
  60. document
  61. .Page()
  62. .RequiredAreaSize(50, 60)
  63. .Content(page =>
  64. {
  65. page.Mock("a").Position(5, 10).Size(50, 20);
  66. page.Mock("b").Position(-10, 40).Size(50, 25);
  67. page.Mock("c").Position(30, 30).Size(50, 15);
  68. });
  69. });
  70. }
  71. }