public void VerticalStart(int margin) { var layout = new StackLayout(); layout.MockBounds(new Rectangle(0, 0, Layout_Width, double.PositiveInfinity)); var view = new MockView(margin) { VerticalOptions = LayoutOptions.Start }; layout.Children.Add(view); var region = new Rectangle(Region_X, Region_Y, Region_Width, Region_Height); Layout.LayoutChildIntoBoundingRegion(view, region); var target = view.Bounds; var thickness = margin * 2; Assume.That(view.VerticalOptions.Alignment == LayoutAlignment.Start, "view.VerticalOptions.Alignment should be Start"); Assume.That(view.VerticalOptions.Alignment.ToDouble() == 0, "view.VerticalOptions.Alignment.ToDouble() should be 0"); Assume.That(view.HorizontalOptions.Alignment == LayoutAlignment.Fill, "view.HorizontalOptions.Alignment should be Fill"); Assert.AreEqual(Expected_X_Fill_Plus_Margin(margin), target.X, "X"); Assert.AreEqual(Expected_Y_Fill_Plus_Margin(margin), target.Y, "Y"); Assert.AreEqual(Expected_Width_Fill_Less_Thickness(thickness), target.Width, "Width"); Assert.AreEqual(Expected_Height_Start_End, target.Height, "Height"); }
public void HorizontalCenter_RTL(int margin) { var layout = new StackLayout { FlowDirection = FlowDirection.RightToLeft }; layout.MockBounds(new Rectangle(0, 0, Layout_Width, double.PositiveInfinity)); var view = new MockView(margin) { HorizontalOptions = LayoutOptions.Center }; layout.Children.Add(view); var region = new Rectangle(Region_X, Region_Y, Region_Width, Region_Height); Layout.LayoutChildIntoBoundingRegion(view, region); var target = view.Bounds; var thickness = margin * 2; var center_margin = Math.Ceiling(margin / 2d); Assume.That(view.HorizontalOptions.Alignment == LayoutAlignment.Center, "view.HorizontalOptions.Alignment should be Center"); Assume.That(view.HorizontalOptions.Alignment.ToDouble() == 0.5, "view.HorizontalOptions.Alignment.ToDouble() should be 0.5"); Assume.That(view.VerticalOptions.Alignment == LayoutAlignment.Fill, "view.VerticalOptions.Alignment should be Fill"); Assert.AreEqual(Expected_X_Center_RTL_Plus_Margin(0), target.X, "X"); Assert.AreEqual(Expected_Y_Fill_Plus_Margin(margin), target.Y, "Y"); Assert.AreEqual(Expected_Width_Start_End, target.Width, "Width"); Assert.AreEqual(Expected_Height_Fill_Less_Thickness(thickness), target.Height, "Height"); }
public void Default_RTL(int margin) { var layout = new StackLayout { FlowDirection = FlowDirection.RightToLeft }; layout.MockBounds(new Rectangle(0, 0, Layout_Width, double.PositiveInfinity)); var view = new MockView(margin); layout.Children.Add(view); var region = new Rectangle(Region_X, Region_Y, Region_Width, Region_Height); Layout.LayoutChildIntoBoundingRegion(view, region); var target = view.Bounds; var thickness = margin * 2; Assume.That(view.HorizontalOptions.Alignment == LayoutAlignment.Fill, "view.HorizontalOptions.Alignment should be Fill"); Assume.That(view.VerticalOptions.Alignment == LayoutAlignment.Fill, "view.VerticalOptions.Alignment should be Fill"); Assert.AreEqual(Expected_Region_Right, region.Right, "region.Right"); Assert.AreEqual(Layout_Width, layout.Width, "layout.Width"); Assert.AreEqual(Expected_X_Fill_RTL_Plus_Margin(margin), target.X, "X"); Assert.AreEqual(Expected_Y_Fill_Plus_Margin(margin), target.Y, "Y"); Assert.AreEqual(Expected_Width_Fill_Less_Thickness(thickness), target.Width, "Width"); Assert.AreEqual(Expected_Height_Fill_Less_Thickness(thickness), target.Height, "Height"); }
public void VerticalEndAndExpand_RTL(int margin) { var layout = new StackLayout { FlowDirection = FlowDirection.RightToLeft }; layout.MockBounds(new Rect(0, 0, Layout_Width, double.PositiveInfinity)); var view = new MockView(margin) { VerticalOptions = LayoutOptions.EndAndExpand }; layout.Children.Add(view); var region = new Rect(Region_X, Region_Y, Region_Width, Region_Height); Compatibility.Layout.LayoutChildIntoBoundingRegion(view, region); var target = view.Bounds; var thickness = margin * 2; Assume.That(view.VerticalOptions.Alignment == LayoutAlignment.End, "view.VerticalOptions.Alignment should be End"); Assume.That(view.VerticalOptions.Alignment.ToDouble() == 1, "view.VerticalOptions.Alignment.ToDouble() should be 1"); Assume.That(view.HorizontalOptions.Alignment == LayoutAlignment.Fill, "view.HorizontalOptions.Alignment should be Fill"); Assert.AreEqual(Expected_X_Fill_RTL_Plus_Margin(margin), target.X, "X"); Assert.AreEqual(Expected_Y_End_Less_Margin(margin), target.Y, "Y"); Assert.AreEqual(Expected_Width_Fill_Less_Thickness(thickness), target.Width, "Width"); Assert.AreEqual(Expected_Height_Start_End, target.Height, "Height"); }