Fixed tree initialization in Kotlin

This commit is contained in:
Adrian Kuta 2020-01-21 15:11:04 +01:00
parent eb2d5f07be
commit f00ab975dc
2 changed files with 22 additions and 9 deletions

View File

@ -27,7 +27,7 @@ open class TreeNode<T>(val value: T) : Iterable<TreeNode<T>>, ChildDeclarationIn
} }
@JvmSynthetic @JvmSynthetic
override fun child(child: T, childDeclaration: ChildDeclaration<T>?) { override fun child(value: T, childDeclaration: ChildDeclaration<T>?) {
val newChild = TreeNode(value) val newChild = TreeNode(value)
if(childDeclaration != null) if(childDeclaration != null)
newChild.childDeclaration() newChild.childDeclaration()

View File

@ -128,18 +128,31 @@ class TreeNodeTest {
europe.addChild(poland) europe.addChild(poland)
europe.addChild(france) europe.addChild(france)
val rootExt = treeNode("World") { val rootExt = tree("World") {
treeNode("North America") { child("North America") {
treeNode("USA") child("USA")
} }
treeNode("Europe") { child("Europe") {
treeNode("Poland") child("Poland")
treeNode("France") child("France")
} }
} }
println(root) assertEquals(root.prettyString(), rootExt.prettyString())
assertEquals(root.toString(), rootExt.toString())
} }
// @Test
// fun getVisibleNodes() {
// val root = tree("World") {
// child("Level 1") {
// child("Level 2") {
// child("Level 3") {
// child("Level 4")
// }
// }
// }
// }
//
// print(root.prettyString())
// }
} }