修改 API,使 TreeBuilder 实例可以复用。

This commit is contained in:
2024-03-02 14:48:19 +08:00
parent 5cee71a342
commit 5d0af2dad5
3 changed files with 28 additions and 22 deletions

View File

@@ -8,12 +8,17 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.collect.Lists;
import com.google.gson.Gson;
import lombok.ToString;
class TreeBuilderTests {
private static final Logger log = LoggerFactory.getLogger(TreeBuilderTests.class);
private final TreeBuilder<Menu, MenuList, String> treeBuilder = new TreeBuilder<>(
Menu::getMenuCode,
Menu::getParentMenuCode,
MenuList::addChild);
@Test
void testBuildTree() {
@@ -31,13 +36,10 @@ class TreeBuilderTests {
MenuItem.of("C", "C2", "二级菜单C2", "/c/c2"),
MenuItem.of("C", "C3", "二级菜单C3", "/c/c3")
);
List<Menu> menuTree = new TreeBuilder<>(
menus,
Menu::getMenuCode,
Menu::getParentMenuCode,
MenuList::addChild)
.buildTree();
log.info("menuTree: {}", menuTree);
List<Menu> menuTree = treeBuilder.buildTree(menus);
log.info("menuTree: {}", new Gson().toJson(menuTree));
}
}