Files
2021-04-17 21:52:33 +02:00

91 lines
2.6 KiB
C#

using NUnit.Framework;
using QuestPDF.Drawing.SpacePlan;
using QuestPDF.Elements;
using QuestPDF.Infrastructure;
using QuestPDF.UnitTests.TestEngine;
namespace QuestPDF.UnitTests
{
[TestFixture]
public class PaddingTests
{
[Test]
public void Measure_ShouldHandleNullChild() => new Padding().MeasureWithoutChild();
[Test]
public void Draw_ShouldHandleNullChild() => new Padding().DrawWithoutChild();
private Padding GetPadding(TestPlan plan)
{
return new Padding()
{
Top = 10,
Right = 20,
Bottom = 30,
Left = 40,
Child = plan.CreateChild()
};
}
[Test]
public void Measure_General_EnoughSpace()
{
TestPlan
.For(GetPadding)
.MeasureElement(new Size(400, 300))
.ExpectChildMeasure(new Size(340, 260), new FullRender(140, 60))
.CheckMeasureResult(new FullRender(200, 100));
}
[Test]
public void Measure_NotEnoughWidth()
{
TestPlan
.For(GetPadding)
.MeasureElement(new Size(50, 300))
.CheckMeasureResult(new Wrap());
}
[Test]
public void Measure_NotEnoughHeight()
{
TestPlan
.For(GetPadding)
.MeasureElement(new Size(20, 300))
.CheckMeasureResult(new Wrap());
}
[Test]
public void Measure_AcceptsPartialRender()
{
TestPlan
.For(GetPadding)
.MeasureElement(new Size(400, 300))
.ExpectChildMeasure(new Size(340, 260), new PartialRender(40, 160))
.CheckMeasureResult(new PartialRender(100, 200));
}
[Test]
public void Measure_AcceptsWrap()
{
TestPlan
.For(GetPadding)
.MeasureElement(new Size(400, 300))
.ExpectChildMeasure(new Size(340, 260), new Wrap())
.CheckMeasureResult(new Wrap());
}
[Test]
public void Draw_General()
{
TestPlan
.For(GetPadding)
.DrawElement(new Size(400, 300))
.ExpectCanvasTranslate(new Position(40, 10))
.ExpectChildDraw(new Size(340, 260))
.ExpectCanvasTranslate(new Position(-40, -10))
.CheckDrawResult();
}
}
}