SimpleRotateTests.cs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  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 SimpleRotateTests
  10. {
  11. #region measure
  12. [Test]
  13. public void Measure_Wrap()
  14. {
  15. TestPlan
  16. .For(x => new SimpleRotate
  17. {
  18. Child = x.CreateChild(),
  19. TurnCount = 0
  20. })
  21. .MeasureElement(new Size(400, 300))
  22. .ExpectChildMeasure(new Size(400, 300), new Wrap())
  23. .CheckMeasureResult(new Wrap());
  24. }
  25. [Test]
  26. public void Measure_PartialRender()
  27. {
  28. TestPlan
  29. .For(x => new SimpleRotate
  30. {
  31. Child = x.CreateChild(),
  32. TurnCount = 0
  33. })
  34. .MeasureElement(new Size(400, 300))
  35. .ExpectChildMeasure(new Size(400, 300), new PartialRender(300, 200))
  36. .CheckMeasureResult(new PartialRender(300, 200));
  37. }
  38. [Test]
  39. public void Measure_RotateRight()
  40. {
  41. TestPlan
  42. .For(x => new SimpleRotate
  43. {
  44. Child = x.CreateChild(),
  45. TurnCount = 1
  46. })
  47. .MeasureElement(new Size(400, 300))
  48. .ExpectChildMeasure(new Size(300, 400), new FullRender(200, 300))
  49. .CheckMeasureResult(new FullRender(300, 200));
  50. }
  51. [Test]
  52. public void Measure_RotateFlip()
  53. {
  54. TestPlan
  55. .For(x => new SimpleRotate
  56. {
  57. Child = x.CreateChild(),
  58. TurnCount = 2
  59. })
  60. .MeasureElement(new Size(400, 300))
  61. .ExpectChildMeasure(new Size(400, 300), new FullRender(200, 100))
  62. .CheckMeasureResult(new FullRender(200, 100));
  63. }
  64. [Test]
  65. public void Measure_RotateLeft()
  66. {
  67. TestPlan
  68. .For(x => new SimpleRotate
  69. {
  70. Child = x.CreateChild(),
  71. TurnCount = 3 // or -1
  72. })
  73. .MeasureElement(new Size(500, 400))
  74. .ExpectChildMeasure(new Size(400, 500), new FullRender(300, 350))
  75. .CheckMeasureResult(new FullRender(350, 300));
  76. }
  77. #endregion
  78. #region draw
  79. [Test]
  80. public void Draw_Simple()
  81. {
  82. TestPlan
  83. .For(x => new SimpleRotate
  84. {
  85. Child = x.CreateChild(),
  86. TurnCount = 0
  87. })
  88. .DrawElement(new Size(640, 480))
  89. .ExpectCanvasTranslate(0, 0)
  90. .ExpectCanvasRotate(0)
  91. .ExpectChildDraw(new Size(640, 480))
  92. .ExpectCanvasRotate(0)
  93. .ExpectCanvasTranslate(0, 0)
  94. .CheckDrawResult();
  95. }
  96. [Test]
  97. public void Draw_RotateRight()
  98. {
  99. TestPlan
  100. .For(x => new SimpleRotate
  101. {
  102. Child = x.CreateChild(),
  103. TurnCount = 1
  104. })
  105. .DrawElement(new Size(640, 480))
  106. .ExpectCanvasTranslate(640, 0)
  107. .ExpectCanvasRotate(90)
  108. .ExpectChildDraw(new Size(480, 640))
  109. .ExpectCanvasRotate(-90)
  110. .ExpectCanvasTranslate(-640, 0)
  111. .CheckDrawResult();
  112. }
  113. [Test]
  114. public void Draw_RotateFlip()
  115. {
  116. TestPlan
  117. .For(x => new SimpleRotate
  118. {
  119. Child = x.CreateChild(),
  120. TurnCount = 2
  121. })
  122. .DrawElement(new Size(640, 480))
  123. .ExpectCanvasTranslate(640, 480)
  124. .ExpectCanvasRotate(180)
  125. .ExpectChildDraw(new Size(640, 480))
  126. .ExpectCanvasRotate(-180)
  127. .ExpectCanvasTranslate(-640, -480)
  128. .CheckDrawResult();
  129. }
  130. [Test]
  131. public void Draw_RotateLeft()
  132. {
  133. TestPlan
  134. .For(x => new SimpleRotate
  135. {
  136. Child = x.CreateChild(),
  137. TurnCount = 3 // or -1
  138. })
  139. .DrawElement(new Size(640, 480))
  140. .ExpectCanvasTranslate(0, 480)
  141. .ExpectCanvasRotate(270)
  142. .ExpectChildDraw(new Size(480, 640))
  143. .ExpectCanvasRotate(-270)
  144. .ExpectCanvasTranslate(0, -480)
  145. .CheckDrawResult();
  146. }
  147. #endregion
  148. }
  149. }