public void CreateTest() { HierarchyTree tree = new HierarchyTree(); tree.GetOrCreateNode(new string[] { "数学" }); tree.GetOrCreateNode(new string[] { "数学", "一年级" }); HierarchyTreeNode node = tree.GetOrCreateNode(new string[] { "数学", "一年级", "上册" }); tree.GetOrCreateNode(new string[] { "物理", "一年级" }); Assert.IsTrue(tree.root.children.Count == 2); HierarchyTreeNode[] arr = tree.root.GetAllChild(); Assert.IsTrue(arr.Length == 5); Assert.IsNotNull(tree.GetNode(new string[] { "数学", "一年级", "上册" })); HierarchyTreeNode node1 = tree.GetNode(new string[] { "数学", "一年级", "上册" }); Assert.IsTrue(node1.IsValid()); Assert.IsTrue(node1.Path.Length == 3); Assert.IsNotNull(tree.GetNode(new string[] { "数学", "一年级" })); tree.GetNode(new string[] { "数学", "一年级" }).IsValid(); Assert.IsNull(tree.GetNode(new string[] { "数学123", "一年级" })); //移除一个节点 tree.RemoveNode(new string[] { "数学", "一年级", "上册" }); Assert.IsNull(tree.GetNode(new string[] { "数学", "一年级", "上册" })); Assert.IsFalse(node1.IsValid()); }