public void RollUpAggregate_CountNodesWith4Param() { var r = new MapNode(new MapTree(), "r"); var c1 = new MapNode(r, "c1"); var c11 = new MapNode(c1, "c11"); var c12 = new MapNode(c1, "c12"); var c13 = new MapNode(c1, "c13"); var c2 = new MapNode(r, "c2"); var c3 = new MapNode(r, "c3", NodePosition.Left); var c31 = new MapNode(c3, "c31"); var c32 = new MapNode(c3, "c32"); int count = r.RollUpAggregate(n => 1, (a, b) => a + b, (node, i) => { }, node => false); Assert.AreEqual(9, count); }
public void ForEachSameLevelNode_AllBranchesHaveLevel2() { var r = new MapNode(new MapTree(), "r"); var c1 = new MapNode(r, "c1"); var c11 = new MapNode(c1, "c11"); var c12 = new MapNode(c1, "c12"); var c13 = new MapNode(c1, "c13"); var c14 = new MapNode(c1, "c14"); var c15 = new MapNode(c1, "c15"); var c2 = new MapNode(r, "c2"); var c21 = new MapNode(c2, "c21"); var c3 = new MapNode(r, "c3", NodePosition.Left); c3.Folded = true; var c31 = new MapNode(c3, "c31"); var c32 = new MapNode(c3, "c32"); c13.ForEachSameLevelNode(n => n.Text = "Updated"); Assert.AreEqual(7, r.RollUpAggregate(n => n.Text == "Updated" ? 1 : 0, (i, i1) => i + i1)); }
public void RollUpAggregate_CountNodesUnfolded() { var r = new MapNode(new MapTree(), "r"); var c1 = new MapNode(r, "c1"); var c11 = new MapNode(c1, "c11"); var c12 = new MapNode(c1, "c12"); var c13 = new MapNode(c1, "c13"); var c2 = new MapNode(r, "c2"); var c3 = new MapNode(r, "c3", NodePosition.Left); c3.Folded = true; var c31 = new MapNode(c3, "c31"); var c32 = new MapNode(c3, "c32"); int count = r.RollUpAggregate(n => 1, (a, b) => a + b, (node, i) => { node.Text = i.ToString(); }, node => node.Folded); Assert.AreEqual(7, count); Assert.AreEqual("4", c1.Text); }