| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- namespace QuestPDF.LayoutTests.TestEngine;
- internal class ExpectedDocumentLayoutDescriptor(DrawingRecorder DrawingRecorder)
- {
- private int CurrentPage { get; set; } = 1;
-
- public ExpectedPageLayoutDescriptor Page()
- {
- return new ExpectedPageLayoutDescriptor(DrawingRecorder, CurrentPage++);
- }
- }
- internal class ExpectedPageLayoutDescriptor(DrawingRecorder DrawingRecorder, int CurrentPageNumber)
- {
- public ExpectedPageLayoutDescriptor RequiredAreaSize(float width, float height)
- {
- DrawingRecorder.Record(new ElementDrawingEvent
- {
- ObserverId = "$document",
- PageNumber = CurrentPageNumber,
- Size = new Size(width, height)
- });
-
- return this;
- }
-
- public void Content(Action<ExpectedPageContentDescriptor> content)
- {
- var pageContent = new ExpectedPageContentDescriptor(DrawingRecorder, CurrentPageNumber);
- content(pageContent);
- }
- }
- internal class ExpectedPageContentDescriptor(DrawingRecorder drawingRecorder, int CurrentPageNumber)
- {
- public ExpectedMockPositionDescriptor Mock(string mockId = FluentExtensions.DefaultMockId)
- {
- var elementDrawingEvent = new ElementDrawingEvent
- {
- ObserverId = mockId,
- PageNumber = CurrentPageNumber,
- };
-
- drawingRecorder.Record(elementDrawingEvent);
- return new ExpectedMockPositionDescriptor(elementDrawingEvent);
- }
- }
- internal class ExpectedMockPositionDescriptor(ElementDrawingEvent drawingEvent)
- {
- public ExpectedMockPositionDescriptor Position(float x, float y)
- {
- drawingEvent.Position = new Position(x, y);
- return this;
- }
-
- public ExpectedMockPositionDescriptor Size(float width, float height)
- {
- drawingEvent.Size = new Size(width, height);
- return this;
- }
- }
- internal static class FluentExtensions
- {
- public const string DefaultMockId = "$mock";
-
- public static IContainer Mock(this IContainer element, string id = DefaultMockId)
- {
- return element.Element(new ElementObserver
- {
- ObserverId = id
- });
- }
- public static IContainer ElementObserverSetter(this IContainer element, DrawingRecorder recorder)
- {
- return element.Element(new ElementObserverSetter
- {
- Recorder = recorder
- });
- }
-
- public static IContainer Size(this IContainer element, float width, float height)
- {
- return element.Width(width).Height(height);
- }
-
- public static void ContinuousBlock(this IContainer element, float width, float height)
- {
- element.Element(new ContinuousBlock
- {
- TotalWidth = width,
- TotalHeight = height
- });
- }
- }
|