public void SCL_UpdateLayoutWithHiddenItems()
        {
            var renderContext = new Mock <IWidgetRenderContext>(MockBehavior.Strict);

            for (int i = 0; i < 10; i += 2)
            {
                layout[i].Display.IsVisible = false;
            }

            WidgetRegion region = new WidgetRegion(new WidgetStyle());

            region.Size.IdealContentSize = layout.ComputeIdealSize(
                region.Size.ParentMaxSize, renderContext.Object);

            layout.ApplyLayout(region.Size.IdealContentSize, renderContext.Object);

            var dest = new Point();

            for (int i = 0; i < 10; i++)
            {
                if (i % 2 == 0)
                {
                    continue;
                }

                var widgetRegion = layout[i].Display.Region;
                var thisDest     = dest;

                thisDest.X += widgetRegion.MarginToContentOffset.Left;
                thisDest.Y += widgetRegion.MarginToContentOffset.Top;

                widgetRegion.ContentRect.Location.Should().Be(thisDest,
                                                              $"location test failed for item {i}");

                dest.Y += 20 + widgetRegion.MarginToContentOffset.Height;
            }
        }