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; } }