3 Commits

4 changed files with 29 additions and 12 deletions

View File

@ -22,7 +22,7 @@ val poland = TreeNode("Poland")
val france = TreeNode("France")
europe.addChild(poland)
europe.addChild(france)
println(root)
println(root.prettyString())
```
**Pretty Kotlin**
@ -55,7 +55,7 @@ TreeNode<String> poland = new TreeNode<>("Poland");
TreeNode<String> france = new TreeNode<>("France");
europe.addChild(poland);
europe.addChild(france);
System.out.println(root);
System.out.println(root.prettyString());
```
*Output:*

View File

@ -15,7 +15,7 @@ android {
minSdkVersion 15
targetSdkVersion 29
versionCode 1
versionName "1.2.0"
versionName "1.2.2"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'

View File

@ -27,7 +27,7 @@ open class TreeNode<T>(val value: T) : Iterable<TreeNode<T>>, ChildDeclarationIn
}
@JvmSynthetic
override fun child(child: T, childDeclaration: ChildDeclaration<T>?) {
override fun child(value: T, childDeclaration: ChildDeclaration<T>?) {
val newChild = TreeNode(value)
if(childDeclaration != null)
newChild.childDeclaration()
@ -91,6 +91,10 @@ open class TreeNode<T>(val value: T) : Iterable<TreeNode<T>>, ChildDeclarationIn
}
override fun toString(): String {
return value.toString()
}
fun prettyString(): String {
val stringBuilder = StringBuilder()
print(stringBuilder, "", "")
return stringBuilder.toString()

View File

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