[Test] public void align_baseline_customer_func() { YGNode root = YGNodeNew(); YGNodeStyleSetFlexDirection(root, YGFlexDirection.Row); YGNodeStyleSetAlignItems(root, YGAlign.Baseline); YGNodeStyleSetWidth(root, 100); YGNodeStyleSetHeight(root, 100); YGNode root_child0 = YGNodeNew(); YGNodeStyleSetWidth(root_child0, 50); YGNodeStyleSetHeight(root_child0, 50); YGNodeInsertChild(root, root_child0, 0); YGNode root_child1 = YGNodeNew(); YGNodeStyleSetWidth(root_child1, 50); YGNodeStyleSetHeight(root_child1, 20); YGNodeInsertChild(root, root_child1, 1); float baselineValue = 10; YGNode root_child1_child0 = YGNodeNew(); root_child1_child0.setContext(baselineValue); YGNodeStyleSetWidth(root_child1_child0, 50); root_child1_child0.setBaselineFunc(_baseline); YGNodeStyleSetHeight(root_child1_child0, 20); YGNodeInsertChild(root_child1, root_child1_child0, 0); YGNodeCalculateLayout(root, YGValue.YGUndefined, YGValue.YGUndefined, YGDirection.LTR); Assert.AreEqual(0, YGNodeLayoutGetLeft(root)); Assert.AreEqual(0, YGNodeLayoutGetTop(root)); Assert.AreEqual(100, YGNodeLayoutGetWidth(root)); Assert.AreEqual(100, YGNodeLayoutGetHeight(root)); Assert.AreEqual(0, YGNodeLayoutGetLeft(root_child0)); Assert.AreEqual(0, YGNodeLayoutGetTop(root_child0)); Assert.AreEqual(50, YGNodeLayoutGetWidth(root_child0)); Assert.AreEqual(50, YGNodeLayoutGetHeight(root_child0)); Assert.AreEqual(50, YGNodeLayoutGetLeft(root_child1)); Assert.AreEqual(40, YGNodeLayoutGetTop(root_child1)); Assert.AreEqual(50, YGNodeLayoutGetWidth(root_child1)); Assert.AreEqual(20, YGNodeLayoutGetHeight(root_child1)); Assert.AreEqual(0, YGNodeLayoutGetLeft(root_child1_child0)); Assert.AreEqual(0, YGNodeLayoutGetTop(root_child1_child0)); Assert.AreEqual(50, YGNodeLayoutGetWidth(root_child1_child0)); Assert.AreEqual(20, YGNodeLayoutGetHeight(root_child1_child0)); }