116 lines
4.0 KiB
C#
116 lines
4.0 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 RowTests
|
|
{
|
|
#region Measure
|
|
|
|
[Test]
|
|
public void Measure_ReturnsWrap_WhenLeftChildReturnsWrap()
|
|
{
|
|
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 Wrap())
|
|
.CheckMeasureResult(new Wrap());
|
|
}
|
|
|
|
[Test]
|
|
public void Measure_ReturnsWrap_WhenRightChildReturnsWrap()
|
|
{
|
|
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 Wrap())
|
|
.CheckMeasureResult(new Wrap());
|
|
}
|
|
|
|
[Test]
|
|
public void Measure_ReturnsPartialRender_WhenLeftChildReturnsPartialRender()
|
|
{
|
|
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 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));
|
|
}
|
|
|
|
#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
|
|
}
|
|
} |