static void RemoveAllChildren(YogaNode node) { if (node == null) { return; } if (node.Count > 0) { node.Clear(); } }
public void TestChildren() { YogaNode parent = new YogaNode(); foreach (YogaNode node in parent) { Assert.Fail(node.ToString()); } YogaNode child0 = new YogaNode(); Assert.AreEqual(-1, parent.IndexOf(child0)); parent.Insert(0, child0); foreach (YogaNode node in parent) { Assert.AreEqual(0, parent.IndexOf(node)); } YogaNode child1 = new YogaNode(); parent.Insert(1, child1); int index = 0; foreach (YogaNode node in parent) { Assert.AreEqual(index++, parent.IndexOf(node)); } parent.RemoveAt(0); Assert.AreEqual(-1, parent.IndexOf(child0)); Assert.AreEqual(0, parent.IndexOf(child1)); parent.Clear(); Assert.AreEqual(0, parent.Count); parent.Clear(); Assert.AreEqual(0, parent.Count); }
public void TestClearWithChildDestructor() { ForceGC(); int instanceCount = YogaNode.GetInstanceCount(); YogaNode node = new YogaNode(); Assert.AreEqual(instanceCount + 1, YogaNode.GetInstanceCount()); TestClearWithChildDestructorForGC(node, instanceCount + 1); ForceGC(); Assert.AreEqual(instanceCount + 2, YogaNode.GetInstanceCount()); node.Clear(); Assert.AreEqual(0, node.Count); ForceGC(); Assert.AreEqual(instanceCount + 1, YogaNode.GetInstanceCount()); }
public void TestClear() { int instanceCount = YogaNode.GetInstanceCount(); YogaNode parent = new YogaNode(); Assert.AreEqual(instanceCount + 1, YogaNode.GetInstanceCount()); YogaNode child = new YogaNode(); Assert.AreEqual(instanceCount + 2, YogaNode.GetInstanceCount()); parent.Insert(0, child); Assert.AreEqual(1, parent.Count); Assert.AreEqual(parent, child.Parent); parent.Clear(); Assert.AreEqual(0, parent.Count); Assert.IsNull(child.Parent); Assert.AreEqual(instanceCount + 2, YogaNode.GetInstanceCount()); }