| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- using Avalonia.Media;
- using Xunit;
- namespace Avalonia.Base.UnitTests.Media
- {
- public class GeometryBuilderTests
- {
- [Theory]
- [InlineData(20.0, 10.0)]
- [InlineData(10.0, 5.0)]
- [InlineData(2.0, 1.0)]
- [InlineData(1.0, 0.0)]
- public void CalculateRoundedCornersRectangleWinUI_InnerBorderEdge_Borders_Larger_Than_Corners_Test(
- double uniformBorders,
- double uniformCorners)
- {
- var bounds = new Rect(new Size(100, 100));
- var borderThickness = new Thickness(uniformBorders);
- var cornerRadius = new CornerRadius(uniformCorners);
- var points = GeometryBuilder.CalculateRoundedCornersRectangleWinUI(bounds, borderThickness, cornerRadius, BackgroundSizing.InnerBorderEdge);
- Assert.Equal(new Point(uniformBorders, uniformBorders), points.LeftTop);
- Assert.Equal(new Point(uniformBorders, uniformBorders), points.TopLeft);
- Assert.Equal(new Point(100 - uniformBorders, uniformBorders), points.TopRight);
- Assert.Equal(new Point(100 - uniformBorders, uniformBorders), points.RightTop);
- Assert.Equal(new Point(100 - uniformBorders, 100 - uniformBorders), points.RightBottom);
- Assert.Equal(new Point(100 - uniformBorders, 100 - uniformBorders), points.BottomRight);
- Assert.Equal(new Point(uniformBorders, 100 - uniformBorders), points.BottomLeft);
- Assert.Equal(new Point(uniformBorders, 100 - uniformBorders), points.LeftBottom);
- Assert.False(points.IsRounded);
- }
- [Theory]
- [InlineData(20.0, 10.0)]
- [InlineData(10.0, 5.0)]
- [InlineData(2.0, 1.0)]
- public void CalculateRoundedCornersRectangleWinUI_OuterBorderEdge_Borders_Larger_Than_Corners_Test(
- double uniformBorders,
- double uniformCorners)
- {
- var bounds = new Rect(new Size(100, 100));
- var borderThickness = new Thickness(uniformBorders);
- var cornerRadius = new CornerRadius(uniformCorners);
- var points = GeometryBuilder.CalculateRoundedCornersRectangleWinUI(bounds, borderThickness, cornerRadius, BackgroundSizing.OuterBorderEdge);
- Assert.Equal(new Point(0, uniformBorders), points.LeftTop);
- Assert.Equal(new Point(uniformBorders, 0), points.TopLeft);
- Assert.Equal(new Point(100 - uniformBorders, 0), points.TopRight);
- Assert.Equal(new Point(100, uniformBorders), points.RightTop);
- Assert.Equal(new Point(100, 100 - uniformBorders), points.RightBottom);
- Assert.Equal(new Point(100 - uniformBorders, 100), points.BottomRight);
- Assert.Equal(new Point(uniformBorders, 100), points.BottomLeft);
- Assert.Equal(new Point(0, 100 - uniformBorders), points.LeftBottom);
- Assert.True(points.IsRounded);
- }
- }
- }
|