test: 使用 lombok 简化 TreeBuilder 的测试代码

This commit is contained in:
2025-10-22 17:50:09 +08:00
parent 255aaf182a
commit b8c666a023

View File

@@ -36,7 +36,10 @@ import com.google.common.collect.Lists;
import com.google.gson.Gson;
import cn.hutool.core.util.ObjectUtil;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;
@SuppressWarnings("null")
@@ -61,7 +64,7 @@ class TreeBuilderTests {
private final TreeBuilder<Menu, MenuList, String> treeBuilder = new TreeBuilder<>(
Menu::getMenuCode,
menu -> Optional.ofNullable(menu.parentMenuCode),
menu -> Optional.ofNullable(menu.getParentMenuCode()),
MenuList::addChild,
Comparator.comparing(Menu::getOrderNum));
@@ -134,45 +137,23 @@ class TreeBuilderTests {
((MenuList) menuMap.get("C1")).children);
}
@ToString
@AllArgsConstructor(access = AccessLevel.PROTECTED)
@EqualsAndHashCode
@ToString
private abstract static class Menu implements Serializable {
protected final String parentMenuCode;
protected final String menuCode;
protected final String title;
protected final int orderNum;
public Menu(String parentMenuCode, String menuCode, String title, int orderNum) {
this.parentMenuCode = parentMenuCode;
this.menuCode = menuCode;
this.title = title;
this.orderNum = orderNum;
}
public String getMenuCode() {
return menuCode;
}
public String getParentMenuCode() {
return parentMenuCode;
}
public String getTitle() {
return title;
}
public int getOrderNum() {
return orderNum;
}
protected final @Getter String parentMenuCode;
protected final @Getter String menuCode;
protected final @Getter String title;
protected final @Getter int orderNum;
private static final long serialVersionUID = 20240917181424L;
}
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
private static final class MenuItem extends Menu {
private final String url;
private final @Getter String url;
private MenuItem(String parentMenuCode, String menuCode, String title, String url, int orderNum) {
super(parentMenuCode, menuCode, title, orderNum);
@@ -187,10 +168,6 @@ class TreeBuilderTests {
return new MenuItem(null, menuCode, title, url, orderNum);
}
public String getUrl() {
return url;
}
private static final long serialVersionUID = 20240917181910L;
}