using QuestPDF.Drawing.SpacePlan; using QuestPDF.Elements; using QuestPDF.Infrastructure; namespace QuestPDF.UnitTests.TestEngine { internal static class SimpleContainerTests { #region measure public static void Measure() where TElement : Element, IContainer, new() { Measure_Wrap(); Measure_PartialRender(); Measure_FullRender(); } private static void Measure_Wrap() where TElement : Element, IContainer, new() { TestPlan .For(x => new TElement { Child = x.CreateChild() }) .MeasureElement(new Size(400, 300)) .ExpectChildMeasure(new Size(400, 300), new Wrap()) .CheckMeasureResult(new Wrap()); } private static void Measure_PartialRender() where TElement : Element, IContainer, new() { TestPlan .For(x => new TElement { Child = x.CreateChild() }) .MeasureElement(new Size(400, 300)) .ExpectChildMeasure(new Size(400, 300), new PartialRender(200, 100)) .CheckMeasureResult(new PartialRender(200, 100)); } private static void Measure_FullRender() where TElement : Element, IContainer, new() { TestPlan .For(x => new TElement { Child = x.CreateChild() }) .MeasureElement(new Size(400, 300)) .ExpectChildMeasure(new Size(400, 300), new FullRender(250, 150)) .CheckMeasureResult(new FullRender(250, 150)); } #endregion public static void Draw() where TElement : Element, IContainer, new() { TestPlan .For(x => new TElement { Child = x.CreateChild() }) .DrawElement(new Size(1200, 900)) .ExpectChildDraw(new Size(1200, 900)) .CheckDrawResult(); } } }