using QuestPDF.Drawing; 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), SpacePlan.Wrap("Mock")) .CheckMeasureResult(SpacePlan.Wrap("Forwarded from child")); } 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), SpacePlan.PartialRender(200, 100)) .CheckMeasureResult(SpacePlan.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), SpacePlan.FullRender(250, 150)) .CheckMeasureResult(SpacePlan.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(); } } }