diff --git a/src/test/java/net/kemitix/node/NodeItemTest.java b/src/test/java/net/kemitix/node/NodeItemTest.java index 664ec82..b292c9d 100644 --- a/src/test/java/net/kemitix/node/NodeItemTest.java +++ b/src/test/java/net/kemitix/node/NodeItemTest.java @@ -14,6 +14,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Function; /** * Test for {@link NodeItem}. @@ -1013,4 +1014,21 @@ public class NodeItemTest { assertThat(node.isNamed()).isFalse(); assertThat(node.isNamed()).isTrue(); } + + @Test + public void canUseNameSupplierToBuildFullPath() { + //given + final Function, String> pathNameSupplier = node -> { + Node parent = node.getParent(); + if (parent == null) { + return ""; + } + return parent.getName() + "/" + node.getData(); + }; + node = new NodeItem<>(null, pathNameSupplier); + val child = new NodeItem("child", node); + val grandchild = new NodeItem("grandchild", child); + //then + assertThat(grandchild.getName()).isEqualTo("/child/grandchild"); + } }