| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735 |
- using System;
- using NUnit.Framework;
- using QuestPDF.Elements;
- using QuestPDF.Fluent;
- using QuestPDF.Helpers;
- using QuestPDF.Infrastructure;
- namespace QuestPDF.UnitTests;
- public class StyledBoxTests
- {
- [Test]
- public void BorderShorthandSetsCorrectValues()
- {
- var container = EmptyContainer.Create();
- container.Border(1.23f, Colors.Amber.Darken2);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.EqualTo(1.23f));
- Assert.That(styledBox?.BorderRight, Is.EqualTo(1.23f));
- Assert.That(styledBox?.BorderTop, Is.EqualTo(1.23f));
- Assert.That(styledBox?.BorderBottom, Is.EqualTo(1.23f));
-
- Assert.That(styledBox?.BorderColor, Is.EqualTo(Colors.Amber.Darken2));
- Assert.That(styledBox?.BackgroundColor, Is.EqualTo(Colors.Transparent));
-
- Assert.That(styledBox?.BorderRadiusTopLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusTopRight, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomRight, Is.Zero);
- }
-
- #region Background
- [Test]
- public void BackgroundColorSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
- container.Background(Colors.Green.Medium);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BackgroundColor, Is.EqualTo(Colors.Green.Medium));
- }
-
- [Test]
- public void BackgroundLinearGradientCannotBeEmpty()
- {
- var exception = Assert.Throws<ArgumentException>(() =>
- {
- EmptyContainer.Create().BackgroundLinearGradient(123f, []);
- });
-
- Assert.That(exception.Message, Does.Contain("The background linear-gradient colors cannot be empty. (Parameter 'colors')"));
- }
-
- [Test]
- public void BackgroundLinearGradientSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
- container.BackgroundLinearGradient(30f, [ Colors.Red.Lighten3, Colors.Orange.Lighten3, Colors.Yellow.Lighten3 ]);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BackgroundGradientAngle, Is.EqualTo(30));
- Assert.That(styledBox?.BackgroundGradientColors, Is.EqualTo([ Colors.Red.Lighten3, Colors.Orange.Lighten3, Colors.Yellow.Lighten3 ]));
- }
- #endregion
-
- #region Thickness
-
- [Test]
- public void BorderAllSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
-
- container.Border(1.23f);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.EqualTo(1.23f));
- Assert.That(styledBox?.BorderRight, Is.EqualTo(1.23f));
- Assert.That(styledBox?.BorderTop, Is.EqualTo(1.23f));
- Assert.That(styledBox?.BorderBottom, Is.EqualTo(1.23f));
- }
-
- [Test]
- public void BorderAllSupportsUnitConversion()
- {
- var container = EmptyContainer.Create();
-
- container.Border(0.25f, Unit.Inch);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.EqualTo(18));
- Assert.That(styledBox?.BorderRight, Is.EqualTo(18));
- Assert.That(styledBox?.BorderTop, Is.EqualTo(18));
- Assert.That(styledBox?.BorderBottom, Is.EqualTo(18));
- }
-
- [Test]
- public void BorderVerticalSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
-
- container.BorderVertical(20);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.EqualTo(20));
- Assert.That(styledBox?.BorderRight, Is.EqualTo(20));
- Assert.That(styledBox?.BorderTop, Is.Zero);
- Assert.That(styledBox?.BorderBottom, Is.Zero);
- }
-
- [Test]
- public void BorderVerticalSupportsUnitConversion()
- {
- var container = EmptyContainer.Create();
-
- container.BorderVertical(0.5f, Unit.Inch);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.EqualTo(36));
- Assert.That(styledBox?.BorderRight, Is.EqualTo(36));
- Assert.That(styledBox?.BorderTop, Is.Zero);
- Assert.That(styledBox?.BorderBottom, Is.Zero);
- }
-
- [Test]
- public void BorderHorizontalSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
-
- container.BorderHorizontal(25);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.Zero);
- Assert.That(styledBox?.BorderRight, Is.Zero);
- Assert.That(styledBox?.BorderTop, Is.EqualTo(25));
- Assert.That(styledBox?.BorderBottom, Is.EqualTo(25));
- }
-
- [Test]
- public void BorderHorizontalSupportsUnitConversion()
- {
- var container = EmptyContainer.Create();
-
- container.BorderHorizontal(0.75f, Unit.Inch);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.Zero);
- Assert.That(styledBox?.BorderRight, Is.Zero);
- Assert.That(styledBox?.BorderTop, Is.EqualTo(54));
- Assert.That(styledBox?.BorderBottom, Is.EqualTo(54));
- }
-
- [Test]
- public void BorderLeftSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
-
- container.BorderLeft(5);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.EqualTo(5));
- Assert.That(styledBox?.BorderRight, Is.Zero);
- Assert.That(styledBox?.BorderTop, Is.Zero);
- Assert.That(styledBox?.BorderBottom, Is.Zero);
- }
-
- [Test]
- public void BorderLeftSupportsUnitConversion()
- {
- var container = EmptyContainer.Create();
-
- container.BorderLeft(0.25f, Unit.Inch);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.EqualTo(18));
- Assert.That(styledBox?.BorderRight, Is.Zero);
- Assert.That(styledBox?.BorderTop, Is.Zero);
- Assert.That(styledBox?.BorderBottom, Is.Zero);
- }
-
- [TestCase(-5)]
- [TestCase(-Size.Epsilon)]
- public void BorderLeftCannotBeNegative(float border)
- {
- var exception = Assert.Throws<ArgumentOutOfRangeException>(() =>
- {
- EmptyContainer.Create().BorderLeft(border);
- });
-
- Assert.That(exception.Message, Does.Contain("The left border cannot be negative."));
- }
-
- [Test]
- public void BorderRightSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
-
- container.BorderRight(10);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.Zero);
- Assert.That(styledBox?.BorderRight, Is.EqualTo(10));
- Assert.That(styledBox?.BorderTop, Is.Zero);
- Assert.That(styledBox?.BorderBottom, Is.Zero);
- }
-
- [Test]
- public void BorderRightSupportsUnitConversion()
- {
- var container = EmptyContainer.Create();
-
- container.BorderRight(0.5f, Unit.Inch);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.Zero);
- Assert.That(styledBox?.BorderRight, Is.EqualTo(36));
- Assert.That(styledBox?.BorderTop, Is.Zero);
- Assert.That(styledBox?.BorderBottom, Is.Zero);
- }
-
- [TestCase(-5)]
- [TestCase(-Size.Epsilon)]
- public void BorderRightCannotBeNegative(float border)
- {
- var exception = Assert.Throws<ArgumentOutOfRangeException>(() =>
- {
- EmptyContainer.Create().BorderRight(border);
- });
-
- Assert.That(exception.Message, Does.Contain("The right border cannot be negative."));
- }
-
- [Test]
- public void BorderTopSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
-
- container.BorderTop(15);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.Zero);
- Assert.That(styledBox?.BorderRight, Is.Zero);
- Assert.That(styledBox?.BorderTop, Is.EqualTo(15));
- Assert.That(styledBox?.BorderBottom, Is.Zero);
- }
-
- [Test]
- public void BorderTopSupportsUnitConversion()
- {
- var container = EmptyContainer.Create();
-
- container.BorderTop(0.75f, Unit.Inch);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.Zero);
- Assert.That(styledBox?.BorderRight, Is.Zero);
- Assert.That(styledBox?.BorderTop, Is.EqualTo(54f));
- Assert.That(styledBox?.BorderBottom, Is.Zero);
- }
-
- [TestCase(-5)]
- [TestCase(-Size.Epsilon)]
- public void BorderTopCannotBeNegative(float border)
- {
- var exception = Assert.Throws<ArgumentOutOfRangeException>(() =>
- {
- EmptyContainer.Create().BorderTop(border);
- });
-
- Assert.That(exception.Message, Does.Contain("The top border cannot be negative."));
- }
-
- [Test]
- public void BorderBottomSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
-
- container.BorderBottom(20);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.Zero);
- Assert.That(styledBox?.BorderRight, Is.Zero);
- Assert.That(styledBox?.BorderTop, Is.Zero);
- Assert.That(styledBox?.BorderBottom, Is.EqualTo(20));
- }
-
- [Test]
- public void BorderBottomSupportsUnitConversion()
- {
- var container = EmptyContainer.Create();
-
- container.BorderBottom(1f, Unit.Inch);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.Zero);
- Assert.That(styledBox?.BorderRight, Is.Zero);
- Assert.That(styledBox?.BorderTop, Is.Zero);
- Assert.That(styledBox?.BorderBottom, Is.EqualTo(72f));
- }
-
- [TestCase(-5)]
- [TestCase(-Size.Epsilon)]
- public void BorderBottomCannotBeNegative(float border)
- {
- var exception = Assert.Throws<ArgumentOutOfRangeException>(() =>
- {
- EmptyContainer.Create().BorderBottom(border);
- });
-
- Assert.That(exception.Message, Does.Contain("The bottom border cannot be negative."));
- }
-
- [Test]
- public void ZeroBorderIsSupported()
- {
- var container = EmptyContainer.Create();
- container
- .BorderLeft(0)
- .BorderRight(0)
- .BorderTop(0)
- .BorderBottom(0);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.Zero);
- Assert.That(styledBox?.BorderRight, Is.Zero);
- Assert.That(styledBox?.BorderTop, Is.Zero);
- Assert.That(styledBox?.BorderBottom, Is.Zero);
- }
-
- [Test]
- public void BorderValuesAreOverridingEachOther()
- {
- var container = EmptyContainer.Create();
- container
- .Border(5)
- .BorderVertical(10)
- .BorderLeft(15)
- .BorderBottom(20);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderLeft, Is.EqualTo(15));
- Assert.That(styledBox?.BorderRight, Is.EqualTo(10));
- Assert.That(styledBox?.BorderTop, Is.EqualTo(5));
- Assert.That(styledBox?.BorderBottom, Is.EqualTo(20));
- }
-
- [Test]
- public void BorderSetsColorToBlack()
- {
- var container = EmptyContainer.Create();
- container.Border(5);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderColor, Is.EqualTo(Colors.Black));
- }
-
- #endregion
- #region Corner Radius
- [Test]
- public void CornerRadiusAllSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
-
- container.CornerRadius(8);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderRadiusTopLeft, Is.EqualTo(8));
- Assert.That(styledBox?.BorderRadiusTopRight, Is.EqualTo(8));
- Assert.That(styledBox?.BorderRadiusBottomLeft, Is.EqualTo(8));
- Assert.That(styledBox?.BorderRadiusBottomRight, Is.EqualTo(8));
- }
-
- [Test]
- public void CornerRadiusAllSupportsUnitConversion()
- {
- var container = EmptyContainer.Create();
-
- container.CornerRadius(1.5f, Unit.Inch);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderRadiusTopLeft, Is.EqualTo(108));
- Assert.That(styledBox?.BorderRadiusTopRight, Is.EqualTo(108));
- Assert.That(styledBox?.BorderRadiusBottomLeft, Is.EqualTo(108));
- Assert.That(styledBox?.BorderRadiusBottomRight, Is.EqualTo(108));
- }
- [TestCase(-5)]
- [TestCase(-Size.Epsilon)]
- public void CornerRadiusAllCannotBeNegative(float cornerRadius)
- {
- var exception = Assert.Throws<ArgumentOutOfRangeException>(() =>
- {
- EmptyContainer.Create().CornerRadius(cornerRadius);
- });
-
- Assert.That(exception.Message, Does.Contain("The top-left corner radius cannot be negative."));
- }
-
- [Test]
- public void CornerRadiusTopLeftSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
-
- container.CornerRadiusTopLeft(8);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderRadiusTopLeft, Is.EqualTo(8));
- Assert.That(styledBox?.BorderRadiusTopRight, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomRight, Is.Zero);
- }
-
- [Test]
- public void CornerRadiusTopLeftSupportsUnitConversion()
- {
- var container = EmptyContainer.Create();
-
- container.CornerRadiusTopLeft(0.25f, Unit.Inch);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderRadiusTopLeft, Is.EqualTo(18));
- Assert.That(styledBox?.BorderRadiusTopRight, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomRight, Is.Zero);
- }
- [TestCase(-5)]
- [TestCase(-Size.Epsilon)]
- public void CornerRadiusTopLeftCannotBeNegative(float cornerRadius)
- {
- var exception = Assert.Throws<ArgumentOutOfRangeException>(() =>
- {
- EmptyContainer.Create().CornerRadiusTopLeft(cornerRadius);
- });
-
- Assert.That(exception.Message, Does.Contain("The top-left corner radius cannot be negative."));
- }
-
- [Test]
- public void CornerRadiusTopRightSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
-
- container.CornerRadiusTopRight(10);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderRadiusTopLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusTopRight, Is.EqualTo(10));
- Assert.That(styledBox?.BorderRadiusBottomLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomRight, Is.Zero);
- }
-
- [Test]
- public void CornerRadiusTopRightSupportsUnitConversion()
- {
- var container = EmptyContainer.Create();
-
- container.CornerRadiusTopRight(0.5f, Unit.Inch);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderRadiusTopLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusTopRight, Is.EqualTo(36));
- Assert.That(styledBox?.BorderRadiusBottomLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomRight, Is.Zero);
- }
- [TestCase(-5)]
- [TestCase(-Size.Epsilon)]
- public void CornerRadiusTopRightCannotBeNegative(float cornerRadius)
- {
- var exception = Assert.Throws<ArgumentOutOfRangeException>(() =>
- {
- EmptyContainer.Create().CornerRadiusTopRight(cornerRadius);
- });
-
- Assert.That(exception.Message, Does.Contain("The top-right corner radius cannot be negative."));
- }
-
- [Test]
- public void CornerRadiusBottomLeftSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
-
- container.CornerRadiusBottomLeft(12);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderRadiusTopLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusTopRight, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomLeft, Is.EqualTo(12));
- Assert.That(styledBox?.BorderRadiusBottomRight, Is.Zero);
- }
-
- [Test]
- public void CornerRadiusBottomLeftSupportsUnitConversion()
- {
- var container = EmptyContainer.Create();
-
- container.CornerRadiusBottomLeft(0.75f, Unit.Inch);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderRadiusTopLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusTopRight, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomLeft, Is.EqualTo(54));
- Assert.That(styledBox?.BorderRadiusBottomRight, Is.Zero);
- }
- [TestCase(-5)]
- [TestCase(-Size.Epsilon)]
- public void CornerRadiusBottomLeftCannotBeNegative(float cornerRadius)
- {
- var exception = Assert.Throws<ArgumentOutOfRangeException>(() =>
- {
- EmptyContainer.Create().CornerRadiusBottomLeft(cornerRadius);
- });
-
- Assert.That(exception.Message, Does.Contain("The bottom-left corner radius cannot be negative."));
- }
-
- [Test]
- public void CornerRadiusBottomRightSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
-
- container.CornerRadiusBottomRight(14);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderRadiusTopLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusTopRight, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomRight, Is.EqualTo(14));
- }
-
- [Test]
- public void CornerRadiusBottomRightSupportsUnitConversion()
- {
- var container = EmptyContainer.Create();
-
- container.CornerRadiusBottomRight(1f, Unit.Inch);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderRadiusTopLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusTopRight, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomLeft, Is.Zero);
- Assert.That(styledBox?.BorderRadiusBottomRight, Is.EqualTo(72));
- }
- [TestCase(-5)]
- [TestCase(-Size.Epsilon)]
- public void CornerRadiusBottomRightCannotBeNegative(float cornerRadius)
- {
- var exception = Assert.Throws<ArgumentOutOfRangeException>(() =>
- {
- EmptyContainer.Create().CornerRadiusBottomRight(cornerRadius);
- });
-
- Assert.That(exception.Message, Does.Contain("The bottom-right corner radius cannot be negative."));
- }
-
- [Test]
- public void CornerRadiusValuesAreOverridingEachOther()
- {
- var container = EmptyContainer.Create();
- container
- .CornerRadius(4)
- .CornerRadiusTopLeft(6)
- .CornerRadiusTopRight(8)
- .CornerRadiusBottomLeft(10)
- .CornerRadiusBottomRight(12)
- .CornerRadiusBottomRight(14);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderRadiusTopLeft, Is.EqualTo(6));
- Assert.That(styledBox?.BorderRadiusTopRight, Is.EqualTo(8));
- Assert.That(styledBox?.BorderRadiusBottomLeft, Is.EqualTo(10));
- Assert.That(styledBox?.BorderRadiusBottomRight, Is.EqualTo(14));
- }
-
- #endregion
- #region Border Style
-
- [Test]
- public void BorderColorSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
- container.BorderColor(Colors.Red.Darken3);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderColor, Is.EqualTo(Colors.Red.Darken3));
- }
-
- [Test]
- public void BorderLinearGradientCannotBeEmpty()
- {
- var exception = Assert.Throws<ArgumentException>(() =>
- {
- EmptyContainer.Create().BorderLinearGradient(234f, []);
- });
-
- Assert.That(exception.Message, Does.Contain("The border linear-gradient colors cannot be empty. (Parameter 'colors')"));
- }
-
- [Test]
- public void BorderLinearGradientSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
- container.BorderLinearGradient(123f, [ Colors.Red.Darken3, Colors.Orange.Darken3, Colors.Yellow.Darken3 ]);
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderGradientAngle, Is.EqualTo(123));
- Assert.That(styledBox?.BorderGradientColors, Is.EqualTo([ Colors.Red.Darken3, Colors.Orange.Darken3, Colors.Yellow.Darken3 ]));
- }
-
- #endregion
-
- #region Border Alignment
-
- [Test]
- public void BorderAlignmentIsMiddleWhenNoRoundedCorners()
- {
- var container = EmptyContainer.Create();
- container.Border(5);
-
- var styledBox = container.Child as StyledBox;
- styledBox.AdjustBorderAlignment();
- Assert.That(styledBox?.BorderAlignment, Is.EqualTo(0.5f));
- }
-
- [Test]
- public void BorderAlignmentIsInsideWhenHasRoundedCorners()
- {
- var container = EmptyContainer.Create();
- container.Border(5).CornerRadius(10);
-
- var styledBox = container.Child as StyledBox;
- styledBox.AdjustBorderAlignment();
- Assert.That(styledBox?.BorderAlignment, Is.EqualTo(0f));
- }
-
- [Test]
- public void BorderAlignmentInsideSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
- container.BorderAlignmentInside();
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderAlignment, Is.Zero);
- }
-
- [Test]
- public void BorderAlignmentMiddleSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
- container.BorderAlignmentMiddle();
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderAlignment, Is.EqualTo(0.5f));
- }
-
- [Test]
- public void BorderAlignmentOutsideSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
- container.BorderAlignmentOutside();
-
- var styledBox = container.Child as StyledBox;
- Assert.That(styledBox?.BorderAlignment, Is.EqualTo(1f));
- }
-
- #endregion
-
- #region Shadow
-
- [Test]
- public void ShadowStyleSetsCorrectValue()
- {
- var container = EmptyContainer.Create();
-
- container.Shadow(new BoxShadowStyle
- {
- Color = Colors.Black.WithAlpha(0.5f),
- OffsetX = 5,
- OffsetY = 10,
- Blur = 15,
- Spread = 20
- });
-
- var styledBox = container.Child as StyledBox;
- var shadow = styledBox?.Shadow;
-
- Assert.That(shadow.Color, Is.EqualTo(new Color(0x7F000000)));
- Assert.That(shadow.OffsetX, Is.EqualTo(5));
- Assert.That(shadow.OffsetY, Is.EqualTo(10));
- Assert.That(shadow.Blur, Is.EqualTo(15));
- Assert.That(shadow.Spread, Is.EqualTo(20));
- }
-
- [Test]
- public void ShadowStyleCannotBeNull()
- {
- var exception = Assert.Throws<ArgumentNullException>(() =>
- {
- EmptyContainer.Create().Shadow(null);
- });
-
- Assert.That(exception.Message, Does.Contain("The box shadow style cannot be null."));
- }
-
- [TestCase(-10)]
- [TestCase(-Size.Epsilon)]
- public void ShadowBlurCannotBeNegative(float blur)
- {
- var exception = Assert.Throws<ArgumentException>(() =>
- {
- EmptyContainer.Create().Shadow(new BoxShadowStyle { Blur = blur });
- });
-
- Assert.That(exception.Message, Does.Contain("Shadow blur radius cannot be negative."));
- }
-
- #endregion
- }
|