mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
fix test
This commit is contained in:
parent
1ba62e8539
commit
fbc14c86bf
@ -2,6 +2,7 @@ package org.dromara.hutool.core.tree;
|
||||
|
||||
import lombok.Data;
|
||||
import org.dromara.hutool.core.tree.parser.NodeParser;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -10,9 +11,49 @@ import java.util.List;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
public class IssueIAUSHRTest {
|
||||
|
||||
private final NodeParser<TestDept, Long> nodeParser = (dept, tree) ->
|
||||
tree.setId(dept.getDeptId())
|
||||
.setParentId(dept.getParentId())
|
||||
.setName(dept.getDeptName());
|
||||
|
||||
private final TreeNodeConfig treeNodeConfig = new TreeNodeConfig()
|
||||
.setIdKey("deptId")
|
||||
.setNameKey("deptName")
|
||||
.setParentIdKey("parentId");
|
||||
|
||||
/**
|
||||
* 理论上,你所有节点的ID都不应该重复,那你要构建一个列表形式的树结构,指定的这个rootId应该是A节点的parentId,而非A的id
|
||||
*/
|
||||
@Test
|
||||
void buildTest() {
|
||||
final List<TestDept> list = mockData();
|
||||
|
||||
final List<MapTree<Long>> build = TreeUtil.build(list, null, treeNodeConfig, nodeParser);
|
||||
Assertions.assertEquals(1, build.size());
|
||||
assertEquals("A", build.get(0).getName());
|
||||
assertEquals(2, build.get(0).getChildren().size());
|
||||
assertEquals("B", build.get(0).getChildren().get(0).getName());
|
||||
assertEquals("C", build.get(0).getChildren().get(1).getName());
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建单节点时,如果指定的节点存在,则这个节点作为根节点
|
||||
*/
|
||||
@Test
|
||||
void buildSingleTest() {
|
||||
final List<TestDept> list= new ArrayList<>();
|
||||
final List<TestDept> list = mockData();
|
||||
|
||||
final MapTree<Long> longTree = TreeUtil.buildSingle(list, 1L, treeNodeConfig, nodeParser);
|
||||
|
||||
assertEquals("A", longTree.getName());
|
||||
assertEquals(2, longTree.getChildren().size());
|
||||
assertEquals("B", longTree.getChildren().get(0).getName());
|
||||
assertEquals("C", longTree.getChildren().get(1).getName());
|
||||
}
|
||||
|
||||
private List<TestDept> mockData() {
|
||||
final List<TestDept> list = new ArrayList<>();
|
||||
TestDept sysDept = new TestDept();
|
||||
sysDept.setDeptId(1L);
|
||||
sysDept.setDeptName("A");
|
||||
@ -31,26 +72,11 @@ public class IssueIAUSHRTest {
|
||||
sysDept.setParentId(1L);
|
||||
list.add(sysDept);
|
||||
|
||||
final TreeNodeConfig treeNodeConfig = new TreeNodeConfig();
|
||||
treeNodeConfig.setIdKey("deptId");
|
||||
treeNodeConfig.setNameKey("deptName");
|
||||
treeNodeConfig.setParentIdKey("parentId");
|
||||
|
||||
final NodeParser<TestDept,Long> nodeParser= (dept, tree) ->
|
||||
tree.setId(dept.getDeptId())
|
||||
.setParentId(dept.getParentId())
|
||||
.setName(dept.getDeptName());
|
||||
|
||||
final MapTree<Long> longTree = TreeUtil.buildSingle(list, 1L, treeNodeConfig, nodeParser);
|
||||
|
||||
assertEquals("A", longTree.getName());
|
||||
assertEquals(2, longTree.getChildren().size());
|
||||
assertEquals("B", longTree.getChildren().get(0).getName());
|
||||
assertEquals("C", longTree.getChildren().get(1).getName());
|
||||
return list;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class TestDept {
|
||||
static class TestDept {
|
||||
private Long deptId;
|
||||
private String deptName;
|
||||
private Long parentId;
|
||||
|
Loading…
x
Reference in New Issue
Block a user