Пример #1
0
        public void Arrange_should_distribute_remaining_width_between_components_with_unlimited_width()
        {
            var area = new Rectangle(5, 5, 100, 100);

            var box = new VBox
            {
                Height = 100
            };
            var c1 = new FixedMeasureComponent(100, 20)
            {
                Height = SizeUnit.Unlimited
            };
            var c2 = new Component {
                Width = 100, Height = 25
            };
            var c3 = new FixedMeasureComponent(100, 30)
            {
                Height = SizeUnit.Unlimited
            };

            box.AddComponent(c1);
            box.AddComponent(c2);
            box.AddComponent(c3);

            box.Measure(area.Size, TestRendererContext.Instance);
            box.Arrange(area);

            c1.Layout.ShouldBe(new Rectangle(5, 5, 100, 20 + 12));
            c2.Layout.ShouldBe(new Rectangle(new Point(area.Left, c1.Layout.Bottom), new Size(100, 25)));
            c3.Layout.ShouldBe(new Rectangle(new Point(area.Left, c2.Layout.Bottom), new Size(100, 30 + 13)));
        }
Пример #2
0
        public void Arrange_should_distribute_remaining_width_between_components_with_unlimited_width()
        {
            var area = new Rectangle(5, 5, 100, 100);

            var box = new HBox
            {
                Width = 100
            };
            var c1 = new FixedMeasureComponent(20, 100)
            {
                Width = SizeUnit.Unlimited
            };
            var c2 = new Component {
                Width = 25, Height = 100
            };
            var c3 = new FixedMeasureComponent(30, 100)
            {
                Width = SizeUnit.Unlimited
            };

            box.AddComponent(c1);
            box.AddComponent(c2);
            box.AddComponent(c3);

            box.Measure(area.Size, TestRendererContext.Instance);
            box.Arrange(area);

            c1.Layout.ShouldBe(new Rectangle(5, 5, 20 + 12, 100));
            c2.Layout.ShouldBe(new Rectangle(new Point(c1.Layout.Right, area.Top), new Size(25, 100)));
            c3.Layout.ShouldBe(new Rectangle(new Point(c2.Layout.Right, area.Top), new Size(30 + 13, 100)));
        }