Files
QuestPDF/Source/QuestPDF.UnitTests/BoxTests.cs
T

94 lines
3.1 KiB
C#
Raw Normal View History

using NUnit.Framework;
2021-10-01 02:32:35 +02:00
using QuestPDF.Drawing;
using QuestPDF.Elements;
using QuestPDF.Infrastructure;
using QuestPDF.UnitTests.TestEngine;
namespace QuestPDF.UnitTests
{
[TestFixture]
public class BoxTests
{
[Test]
public void Measure() => SimpleContainerTests.Measure<MinimalBox>();
[Test]
public void Draw_Wrap()
{
TestPlan
.For(x => new MinimalBox
{
Child = x.CreateChild()
})
.DrawElement(new Size(400, 300))
2021-10-01 02:32:35 +02:00
.ExpectChildMeasure(expectedInput: new Size(400, 300), returns: SpacePlan.Wrap())
.CheckDrawResult();
}
[Test]
public void Measure_PartialRender()
{
TestPlan
.For(x => new MinimalBox
{
Child = x.CreateChild()
})
.MeasureElement(new Size(400, 300))
2021-10-01 02:32:35 +02:00
.ExpectChildMeasure(expectedInput: new Size(400, 300), returns: SpacePlan.PartialRender(200, 100))
2022-09-29 23:27:45 +02:00
.ExpectCanvasTranslate(0, 0)
.ExpectChildDraw(new Size(200, 100))
2022-09-29 23:27:45 +02:00
.ExpectCanvasTranslate(0, 0)
.CheckDrawResult();
}
[Test]
public void Measure_FullRender()
{
TestPlan
.For(x => new MinimalBox
{
Child = x.CreateChild()
})
.MeasureElement(new Size(500, 400))
2021-10-01 02:32:35 +02:00
.ExpectChildMeasure(expectedInput: new Size(500, 400), returns: SpacePlan.FullRender(300, 200))
2022-09-29 23:27:45 +02:00
.ExpectCanvasTranslate(0, 0)
.ExpectChildDraw(new Size(300, 200))
2022-09-29 23:27:45 +02:00
.ExpectCanvasTranslate(0, 0)
.CheckDrawResult();
}
[Test]
public void Measure_PartialRender_RightToLeft()
{
TestPlan
.For(x => new MinimalBox
{
Child = x.CreateChild(),
ContentDirection = ContentDirection.RightToLeft
})
.MeasureElement(new Size(400, 300))
.ExpectChildMeasure(expectedInput: new Size(400, 300), returns: SpacePlan.PartialRender(200, 100))
.ExpectCanvasTranslate(200, 0)
.ExpectChildDraw(new Size(200, 100))
.ExpectCanvasTranslate(-200, 0)
.CheckDrawResult();
}
[Test]
public void Measure_FullRender_RightToLeft()
{
TestPlan
.For(x => new MinimalBox
{
Child = x.CreateChild(),
ContentDirection = ContentDirection.RightToLeft
})
.MeasureElement(new Size(500, 400))
.ExpectChildMeasure(expectedInput: new Size(500, 400), returns: SpacePlan.FullRender(350, 200))
.ExpectCanvasTranslate(150, 0)
.ExpectChildDraw(new Size(350, 200))
.ExpectCanvasTranslate(-150, 0)
.CheckDrawResult();
}
}
}