PaddingTests.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using FluentAssertions;
  2. using Moq;
  3. using NUnit.Framework;
  4. using QuestPDF.Drawing.SpacePlan;
  5. using QuestPDF.Elements;
  6. using QuestPDF.Infrastructure;
  7. using QuestPDF.UnitTests.TestEngine;
  8. namespace QuestPDF.UnitTests
  9. {
  10. [TestFixture]
  11. public class PaddingTests
  12. {
  13. [Test]
  14. public void Measure_ShouldHandleNullChild() => new Padding().MeasureWithoutChild();
  15. [Test]
  16. public void Draw_ShouldHandleNullChild() => new Padding().DrawWithoutChild();
  17. private Padding GetPadding(Element child)
  18. {
  19. return new Padding()
  20. {
  21. Top = 5,
  22. Right = 10,
  23. Bottom = 15,
  24. Left = 20,
  25. Child = child
  26. };
  27. }
  28. [Test]
  29. public void Measure_WhenChildReturnsWrap_ReturnsWrap()
  30. {
  31. var child = new Mock<Element>();
  32. child
  33. .Setup(x => x.Measure(It.IsAny<Size>()))
  34. .Returns(() => new Wrap());
  35. GetPadding(child.Object)
  36. .Measure(Size.Zero)
  37. .Should()
  38. .BeOfType<Wrap>();
  39. }
  40. [Test]
  41. public void Measure_WhenChildReturnsFullRender_ReturnsFullRender()
  42. {
  43. var child = new Mock<Element>();
  44. child
  45. .Setup(x => x.Measure(It.IsAny<Size>()))
  46. .Returns(() => new FullRender(Size.Zero));
  47. GetPadding(child.Object)
  48. .Measure(Size.Zero)
  49. .Should()
  50. .BeOfType<FullRender>();
  51. }
  52. [Test]
  53. public void Measure_WhenChildReturnsPartialRender_ReturnsPartialRender()
  54. {
  55. var child = new Mock<Element>();
  56. child
  57. .Setup(x => x.Measure(It.IsAny<Size>()))
  58. .Returns(() => new PartialRender(Size.Zero));
  59. GetPadding(child.Object)
  60. .Measure(Size.Zero)
  61. .Should()
  62. .BeOfType<PartialRender>();
  63. }
  64. }
  65. }