| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | 
							- using System.Linq;
 
- using Avalonia.Controls;
 
- using Avalonia.Controls.Presenters;
 
- using Avalonia.Controls.Primitives;
 
- using Avalonia.Controls.Templates;
 
- using Avalonia.Styling;
 
- using Avalonia.UnitTests;
 
- using Avalonia.VisualTree;
 
- using Xunit;
 
- namespace Avalonia.Layout.UnitTests
 
- {
 
-     public class FullLayoutTests
 
-     {
 
-         [Fact]
 
-         public void Grandchild_Size_Changed()
 
-         {
 
-             using (UnitTestApplication.Start(TestServices.StyledWindow))
 
-             {
 
-                 Border border;
 
-                 TextBlock textBlock;
 
-                 var window = new Window()
 
-                 {
 
-                     SizeToContent = SizeToContent.WidthAndHeight,
 
-                     Content = border = new Border
 
-                     {
 
-                         HorizontalAlignment = HorizontalAlignment.Center,
 
-                         VerticalAlignment = VerticalAlignment.Center,
 
-                         Child = new Border
 
-                         {
 
-                             Child = textBlock = new TextBlock
 
-                             {
 
-                                 Width = 400,
 
-                                 Height = 400,
 
-                                 Text = "Hello World!",
 
-                             },
 
-                         }
 
-                     }
 
-                 };
 
-                 window.Show();
 
-                 Assert.Equal(new Size(400, 400), border.Bounds.Size);
 
-                 textBlock.Width = 200;
 
-                 window.LayoutManager.ExecuteLayoutPass();
 
-                 Assert.Equal(new Size(200, 400), border.Bounds.Size);
 
-             }
 
-         }
 
-         [Fact]
 
-         public void Test_ScrollViewer_With_TextBlock()
 
-         {
 
-             using (UnitTestApplication.Start(TestServices.StyledWindow))
 
-             {
 
-                 ScrollViewer scrollViewer;
 
-                 TextBlock textBlock;
 
-                 var window = new Window()
 
-                 {
 
-                     Width = 800,
 
-                     Height = 600,
 
-                     Content = scrollViewer = new ScrollViewer
 
-                     {
 
-                         Width = 200,
 
-                         Height = 200,
 
-                         HorizontalScrollBarVisibility = ScrollBarVisibility.Auto,
 
-                         HorizontalAlignment = HorizontalAlignment.Center,
 
-                         VerticalAlignment = VerticalAlignment.Center,
 
-                         Content = textBlock = new TextBlock
 
-                         {
 
-                             Width = 400,
 
-                             Height = 400,
 
-                             Text = "Hello World!",
 
-                         },
 
-                     }
 
-                 };
 
-                 window.Resources["ScrollBarThickness"] = 10.0;
 
-                 window.Show();
 
-                 Assert.Equal(new Size(800, 600), window.Bounds.Size);
 
-                 Assert.Equal(new Size(200, 200), scrollViewer.Bounds.Size);
 
-                 Assert.Equal(new Point(300, 200), Position(scrollViewer));
 
-                 Assert.Equal(new Size(400, 400), textBlock.Bounds.Size);
 
-                 var scrollBars = scrollViewer.GetTemplateChildren().OfType<ScrollBar>().ToList();
 
-                 var presenters = scrollViewer.GetTemplateChildren().OfType<ScrollContentPresenter>().ToList();
 
-                 Assert.Equal(2, scrollBars.Count);
 
-                 Assert.Single(presenters);
 
-                 var presenter = presenters[0];
 
-                 Assert.Equal(new Size(190, 190), presenter.Bounds.Size);
 
-                 var horzScroll = scrollBars.Single(x => x.Orientation == Orientation.Horizontal);
 
-                 var vertScroll = scrollBars.Single(x => x.Orientation == Orientation.Vertical);
 
-                 Assert.True(horzScroll.IsVisible);
 
-                 Assert.True(vertScroll.IsVisible);
 
-                 Assert.Equal(new Size(190, 10), horzScroll.Bounds.Size);
 
-                 Assert.Equal(new Size(10, 190), vertScroll.Bounds.Size);
 
-                 Assert.Equal(new Point(0, 190), Position(horzScroll));
 
-                 Assert.Equal(new Point(190, 0), Position(vertScroll));
 
-             }
 
-         }
 
-         private static Point Position(IVisual v)
 
-         {
 
-             return v.Bounds.Position;
 
-         }
 
-     }
 
- }
 
 
  |