TranslateTests.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using System;
  2. using NUnit.Framework;
  3. using QuestPDF.Elements;
  4. using QuestPDF.Fluent;
  5. using QuestPDF.Infrastructure;
  6. namespace QuestPDF.UnitTests
  7. {
  8. [TestFixture]
  9. public class TranslateTests
  10. {
  11. [TestCase(0, 0, "")]
  12. [TestCase(5, 0, "X=5")]
  13. [TestCase(-10, 0, "X=-10")]
  14. [TestCase(0, 15, "Y=15")]
  15. [TestCase(0, -20, "Y=-20")]
  16. [TestCase(30, -40, "X=30 Y=-40")]
  17. [TestCase(1.2345f, -2.3456f, "X=1.2 Y=-2.3")]
  18. public void CompanionHint(float x, float y, string expected)
  19. {
  20. var container = EmptyContainer.Create();
  21. container.TranslateX(x).TranslateY(y);
  22. var translationElement = container.Child as Translate;
  23. var companionHint = translationElement?.GetCompanionHint();
  24. Assert.That(companionHint, Is.EqualTo(expected));
  25. }
  26. [Test]
  27. public void HorizontalTranslationIsCumulative()
  28. {
  29. var container = EmptyContainer.Create();
  30. container.TranslateX(-5).TranslateX(10).TranslateX(20);
  31. var rowContainer = container.Child as Translate;
  32. Assert.That(rowContainer?.TranslateX, Is.EqualTo(25));
  33. }
  34. [Test]
  35. public void VerticalTranslationIsCumulative()
  36. {
  37. var container = EmptyContainer.Create();
  38. container.TranslateY(5).TranslateY(-10).TranslateY(20);
  39. var rowContainer = container.Child as Translate;
  40. Assert.That(rowContainer?.TranslateY, Is.EqualTo(15));
  41. }
  42. [Test]
  43. public void HorizontalTranslationSupportsUnitConversion()
  44. {
  45. var container = EmptyContainer.Create();
  46. container.TranslateX(2, Unit.Inch);
  47. var rowContainer = container.Child as Translate;
  48. Assert.That(rowContainer?.TranslateX, Is.EqualTo(144));
  49. }
  50. [Test]
  51. public void VerticalTranslationSupportsUnitConversion()
  52. {
  53. var container = EmptyContainer.Create();
  54. container.TranslateY(3, Unit.Inch);
  55. var rowContainer = container.Child as Translate;
  56. Assert.That(rowContainer?.TranslateY, Is.EqualTo(216));
  57. }
  58. }
  59. }