59 lines
2.0 KiB
C#
59 lines
2.0 KiB
C#
using NUnit.Framework;
|
|
using QuestPDF.Drawing.SpacePlan;
|
|
using QuestPDF.Elements;
|
|
using QuestPDF.Helpers;
|
|
using QuestPDF.Infrastructure;
|
|
using QuestPDF.UnitTests.TestEngine;
|
|
|
|
namespace QuestPDF.UnitTests
|
|
{
|
|
[TestFixture]
|
|
public class BorderTests
|
|
{
|
|
[Test]
|
|
public void Measure_ShouldHandleNullChild() => new Border().MeasureWithoutChild();
|
|
|
|
[Test]
|
|
public void ComponentShouldNotAffectLayout()
|
|
{
|
|
TestPlan
|
|
.For(x => new Border
|
|
{
|
|
Top = 10,
|
|
Right = 20,
|
|
Bottom = 30,
|
|
Left = 40,
|
|
|
|
Child = x.CreateChild()
|
|
})
|
|
.MeasureElement(new Size(400, 300))
|
|
.ExpectChildMeasure(expectedInput: new Size(400, 300), returns: new FullRender(new Size(100, 50)))
|
|
.CheckMeasureResult( new FullRender(new Size(100, 50)));
|
|
}
|
|
|
|
[Test]
|
|
public void Draw_HorizontalRight_VerticalTop()
|
|
{
|
|
TestPlan
|
|
.For(x => new Border
|
|
{
|
|
Top = 10,
|
|
Right = 20,
|
|
Bottom = 30,
|
|
Left = 40,
|
|
|
|
Color = Colors.Red.Medium,
|
|
|
|
Child = x.CreateChild()
|
|
})
|
|
.DrawElement(new Size(400, 300))
|
|
.ExpectChildDraw(new Size(400, 300))
|
|
.ExpectCanvasDrawRectangle(new Position(-20, -5), new Size(430, 10), Colors.Red.Medium) // top
|
|
.ExpectCanvasDrawRectangle(new Position(-20, -5), new Size(40, 320), Colors.Red.Medium) // left
|
|
.ExpectCanvasDrawRectangle(new Position(-20, 285), new Size(430, 30), Colors.Red.Medium) // bottom
|
|
.ExpectCanvasDrawRectangle(new Position(390, -5), new Size(20, 320), Colors.Red.Medium) // right
|
|
.ExpectChildDraw(new Size(400, 300))
|
|
.CheckDrawResult();
|
|
}
|
|
}
|
|
} |