public void LayoutGroupOnMeasure() { tlog.Debug(tag, $"LayoutGroupOnMeasure START"); flagOnMeasureOverride = false; Assert.False(flagOnMeasureOverride, "flagOnMeasureOverride should be false initial"); LayoutItem layoutItem = new LinearLayout(); View view = new View() { ExcludeLayouting = false, Size = new Size(100, 150) }; layoutItem.AttachToOwner(view); var testingTarget = new MyLayoutGroup(); Assert.IsNotNull(testingTarget, "null handle"); Assert.IsInstanceOf <LayoutGroup>(testingTarget, "Should be an instance of LayoutGroup type."); testingTarget.AttachToOwner(view); testingTarget.Add(layoutItem); MeasureSpecification measureWidth = new MeasureSpecification(new LayoutLength(50.0f), MeasureSpecification.ModeType.AtMost); MeasureSpecification measureHeight = new MeasureSpecification(new LayoutLength(50.0f), MeasureSpecification.ModeType.AtMost); testingTarget.OnMeasureTest(measureWidth, measureHeight); Assert.True(flagOnMeasureOverride, "LayoutGroup overridden method not invoked."); // Test LayoutChildren.Count == 0 flagOnMeasureOverride = false; Assert.False(flagOnMeasureOverride, "flagOnMeasureOverride should be false initial"); testingTarget.Remove(layoutItem); testingTarget.OnMeasureTest(measureWidth, measureHeight); Assert.True(flagOnMeasureOverride, "LayoutGroup overridden method not invoked."); testingTarget.Dispose(); tlog.Debug(tag, $"LayoutGroupOnMeasure END (OK)"); }