| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- namespace QuestPDF.LayoutTests;
- public class ColumnTests
- {
- [Test]
- public void Typical()
- {
- LayoutTest
- .HavingSpaceOfSize(100, 140)
- .ForContent(content =>
- {
- content.Shrink().Column(column =>
- {
- column.Spacing(10);
-
- column.Item().Mock("a").ContinuousBlock(50, 30);
- column.Item().Mock("b").ContinuousBlock(40, 20);
- column.Item().Mock("c").ContinuousBlock(70, 40);
- column.Item().Mock("d").ContinuousBlock(60, 60);
- });
- })
- .ExpectDrawResult(document =>
- {
- document
- .Page()
- .RequiredAreaSize(70, 140)
- .Content(page =>
- {
- page.Mock("a").Position(0, 0).Size(70, 30);
- page.Mock("b").Position(0, 40).Size(70, 20);
- page.Mock("c").Position(0, 70).Size(70, 40);
- page.Mock("d").Position(0, 120).Size(70, 20);
- });
-
- document
- .Page()
- .RequiredAreaSize(60, 40)
- .Content(page =>
- {
- page.Mock("d").Position(0, 0).Size(60, 40);
- });
- });
- }
- [Test]
- public void SingleItem()
- {
- LayoutTest
- .HavingSpaceOfSize(100, 100)
- .ForContent(content =>
- {
- content.Shrink().Column(column =>
- {
- column.Spacing(10);
- column.Item().Mock("a").ContinuousBlock(50, 30);
- });
- })
- .ExpectDrawResult(document =>
- {
- document
- .Page()
- .RequiredAreaSize(50, 30)
- .Content(page =>
- {
- page.Mock("a").Position(0, 0).Size(50, 30);
- });
- });
- }
- [Test]
- public void ZeroHeightItemDoesNotConsumeSpacing()
- {
- LayoutTest
- .HavingSpaceOfSize(100, 100)
- .ForContent(content =>
- {
- content.Shrink().Column(column =>
- {
- column.Spacing(10);
-
- column.Item().Mock("a").ContinuousBlock(50, 30);
- column.Item().Mock("b").ContinuousBlock(50, 0);
- column.Item().Mock("c").ContinuousBlock(70, 20);
- });
- })
- .ExpectDrawResult(document =>
- {
- document
- .Page()
- .RequiredAreaSize(70, 60)
- .Content(page =>
- {
- page.Mock("a").Position(0, 0).Size(70, 30);
- page.Mock("b").Position(0, 30).Size(70, 0);
- page.Mock("c").Position(0, 40).Size(70, 20);
- });
- });
- }
- [Test]
- public void NoSpacing()
- {
- LayoutTest
- .HavingSpaceOfSize(100, 100)
- .ForContent(content =>
- {
- content.Shrink().Column(column =>
- {
- column.Spacing(0);
-
- column.Item().Mock("a").ContinuousBlock(50, 30);
- column.Item().Mock("b").ContinuousBlock(40, 20);
- });
- })
- .ExpectDrawResult(document =>
- {
- document
- .Page()
- .RequiredAreaSize(50, 50)
- .Content(page =>
- {
- page.Mock("a").Position(0, 0).Size(50, 30);
- page.Mock("b").Position(0, 30).Size(50, 20);
- });
- });
- }
- [Test]
- public void PartialRenderItem()
- {
- LayoutTest
- .HavingSpaceOfSize(100, 80)
- .ForContent(content =>
- {
- content.Shrink().Column(column =>
- {
- column.Spacing(5);
-
- column.Item().Mock("a").ContinuousBlock(50, 40);
- column.Item().Mock("b").ContinuousBlock(60, 50);
- });
- })
- .ExpectDrawResult(document =>
- {
- document
- .Page()
- .RequiredAreaSize(60, 80)
- .Content(page =>
- {
- page.Mock("a").Position(0, 0).Size(60, 40);
- page.Mock("b").Position(0, 45).Size(60, 35);
- });
-
- document
- .Page()
- .RequiredAreaSize(60, 15)
- .Content(page =>
- {
- page.Mock("b").Position(0, 0).Size(60, 15);
- });
- });
- }
- }
|