public void GetChildrenShouldReturnListOfChildren() { _fileTree.Add(GetFile(new String[] { "one", "two", "three.cs" })); _fileTree.Add(GetFile(new String[] { "one", "two", "four.cs" })); StringBuilder path = new StringBuilder(); path.Append(Path.DirectorySeparatorChar); FileTreeItem root = new FileTreeItem(null, path.ToString()); path.Append("one" + Path.DirectorySeparatorChar); FileTreeItem one = new FileTreeItem(root, path.ToString()); path.Append("two" + Path.DirectorySeparatorChar); FileTreeItem two = new FileTreeItem(one, path.ToString()); FileTreeItem three = new FileTreeItem(two, path.ToString() + "three.cs"); FileTreeItem four = new FileTreeItem(two, path.ToString() + "four.cs"); IList <FileTreeItem> expected = new List <FileTreeItem>(); expected.Add(three); expected.Add(four); IList <FileTreeItem> actual = new List <FileTreeItem>(_fileTree.GetChildrenOf(two)); CollectionAssert.AreEquivalent(expected, actual); }
private void FillNode(FileTree treeToAddFrom, FileTreeItem parent, TreeNode nodeToAddTo) { foreach (FileTreeItem aChild in treeToAddFrom.GetChildrenOf(parent)) { TreeNode childNode = new TreeNode(aChild.GetItemName()); if (treeToAddFrom.GetChildrenOf(aChild).Count() != 0) { FillNode(treeToAddFrom, aChild, childNode); } nodeToAddTo.Nodes.Add(childNode); } }