mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
add method for Tree
This commit is contained in:
@@ -76,4 +76,48 @@ public class TreeTest {
|
||||
|
||||
Assert .assertEquals(7, ids.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void cloneTreeTest(){
|
||||
final Tree<String> tree = TreeUtil.buildSingle(nodeList, "0");
|
||||
final Tree<String> cloneTree = tree.cloneTree();
|
||||
|
||||
List<String> ids = new ArrayList<>();
|
||||
cloneTree.walk((tr)-> ids.add(tr.getId()));
|
||||
|
||||
Assert .assertEquals(7, ids.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void filterTest(){
|
||||
// 经过过滤,丢掉"用户添加"节点
|
||||
final Tree<String> tree = TreeUtil.buildSingle(nodeList, "0");
|
||||
tree.filter((t)->{
|
||||
final CharSequence name = t.getName();
|
||||
return null != name && name.toString().contains("管理");
|
||||
});
|
||||
|
||||
List<String> ids = new ArrayList<>();
|
||||
tree.walk((tr)-> ids.add(tr.getId()));
|
||||
Assert .assertEquals(6, ids.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void filterNewTest(){
|
||||
final Tree<String> tree = TreeUtil.buildSingle(nodeList, "0");
|
||||
|
||||
// 经过过滤,生成新的树
|
||||
Tree<String> newTree = tree.filterNew((t)->{
|
||||
final CharSequence name = t.getName();
|
||||
return null != name && name.toString().contains("管理");
|
||||
});
|
||||
|
||||
List<String> ids = new ArrayList<>();
|
||||
newTree.walk((tr)-> ids.add(tr.getId()));
|
||||
Assert .assertEquals(6, ids.size());
|
||||
|
||||
List<String> ids2 = new ArrayList<>();
|
||||
tree.walk((tr)-> ids2.add(tr.getId()));
|
||||
Assert .assertEquals(7, ids2.size());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user