Files

116 lines
4.0 KiB
C#
Raw Permalink Normal View History

using NUnit.Framework;
using QuestPDF.Drawing.SpacePlan;
2021-04-09 19:10:55 +02:00
using QuestPDF.Elements;
using QuestPDF.Infrastructure;
2021-04-09 19:10:55 +02:00
using QuestPDF.UnitTests.TestEngine;
2021-01-16 01:31:39 +01:00
namespace QuestPDF.UnitTests
{
[TestFixture]
public class RowTests
{
#region Measure
2021-01-16 01:31:39 +01:00
2021-04-09 19:10:55 +02:00
[Test]
public void Measure_ReturnsWrap_WhenLeftChildReturnsWrap()
2021-04-09 19:10:55 +02:00
{
TestPlan
.For(x => new SimpleRow
2021-04-09 19:10:55 +02:00
{
Left = x.CreateChild("left"),
Right = x.CreateChild("right")
})
.MeasureElement(new Size(400, 300))
.ExpectChildMeasure("left", new Size(400, 300), new Wrap())
.CheckMeasureResult(new Wrap());
2021-04-09 19:10:55 +02:00
}
[Test]
public void Measure_ReturnsWrap_WhenRightChildReturnsWrap()
2021-04-09 19:10:55 +02:00
{
TestPlan
.For(x => new SimpleRow
2021-04-09 19:10:55 +02:00
{
Left = x.CreateChild("left"),
Right = x.CreateChild("right")
})
.MeasureElement(new Size(400, 300))
.ExpectChildMeasure("left", new Size(400, 300), new FullRender(250, 150))
.ExpectChildMeasure("right", new Size(150, 300), new Wrap())
.CheckMeasureResult(new Wrap());
}
[Test]
public void Measure_ReturnsPartialRender_WhenLeftChildReturnsPartialRender()
{
TestPlan
.For(x => new SimpleRow
2021-04-09 19:10:55 +02:00
{
Left = x.CreateChild("left"),
Right = x.CreateChild("right")
})
.MeasureElement(new Size(400, 300))
.ExpectChildMeasure("left", new Size(400, 300), new PartialRender(250, 150))
.ExpectChildMeasure("right", new Size(150, 300), new FullRender(100, 100))
.CheckMeasureResult(new PartialRender(350, 150));
}
[Test]
public void Measure_ReturnsPartialRender_WhenRightChildReturnsPartialRender()
{
TestPlan
.For(x => new SimpleRow
{
Left = x.CreateChild("left"),
Right = x.CreateChild("right")
})
.MeasureElement(new Size(400, 300))
.ExpectChildMeasure("left", new Size(400, 300), new FullRender(250, 150))
.ExpectChildMeasure("right", new Size(150, 300), new PartialRender(100, 100))
.CheckMeasureResult(new PartialRender(350, 150));
}
[Test]
public void Measure_ReturnsFullRender_WhenBothChildrenReturnFullRender()
{
TestPlan
.For(x => new SimpleRow
{
Left = x.CreateChild("left"),
Right = x.CreateChild("right")
})
.MeasureElement(new Size(400, 300))
.ExpectChildMeasure("left", new Size(400, 300), new FullRender(200, 150))
.ExpectChildMeasure("right", new Size(200, 300), new FullRender(100, 100))
.CheckMeasureResult(new FullRender(300, 150));
2021-04-09 19:10:55 +02:00
}
#endregion
#region Draw
[Test]
public void Draw()
{
TestPlan
.For(x => new SimpleRow
{
Left = x.CreateChild("left"),
Right = x.CreateChild("right")
})
.DrawElement(new Size(400, 300))
.ExpectChildMeasure("left", new Size(400, 300), new FullRender(250, 150))
.ExpectChildDraw("left", new Size(250, 300))
.ExpectCanvasTranslate(250, 0)
.ExpectChildDraw("right", new Size(150, 300))
.ExpectCanvasTranslate(-250, 0)
.CheckDrawResult();
}
#endregion
// TODO: add tests for the spacing property
// TODO: add tests for the tree builder method
// TODO: add tests for relative column
2021-01-16 01:31:39 +01:00
}
}