mirror of
https://github.com/AdrianKuta/Tree-Data-Structure.git
synced 2026-06-20 19:30:13 +02:00
Release 3.1.5: remove debug println, drop worksheet leftover, modernize CI
- Remove stray println(child.value) from TreeNode.removeChild()
- Add regression test for removeChild() return value
- Delete leftover ExampleUnitTest.kt template test
- Remove Example.ws.kts worksheet and kotlin("script-runtime") from jvmMain
- Bump actions/checkout v2 -> v4 in CI workflows
- Update README install snippets to 3.1.5
- Bump version to 3.1.5
This commit is contained in:
2
.github/workflows/publishRelease.yml
vendored
2
.github/workflows/publishRelease.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
- name: Set up JDK 21
|
- name: Set up JDK 21
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
- name: Set up JDK 21
|
- name: Set up JDK 21
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -16,14 +16,14 @@ Gradle (Kotlin DSL):
|
|||||||
```kotlin
|
```kotlin
|
||||||
// commonMain for KMP projects, or any sourceSet/module where you need it
|
// commonMain for KMP projects, or any sourceSet/module where you need it
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("com.github.adriankuta:tree-structure:3.1.1") // see badge above for the latest version
|
implementation("com.github.adriankuta:tree-structure:3.1.5") // see badge above for the latest version
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Gradle (Groovy):
|
Gradle (Groovy):
|
||||||
```groovy
|
```groovy
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation "com.github.adriankuta:tree-structure:3.1.1" // see badge above for the latest
|
implementation "com.github.adriankuta:tree-structure:3.1.5" // see badge above for the latest
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ Maven:
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.adriankuta</groupId>
|
<groupId>com.github.adriankuta</groupId>
|
||||||
<artifactId>tree-structure</artifactId>
|
<artifactId>tree-structure</artifactId>
|
||||||
<version>3.1.1</version>
|
<version>3.1.5</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ plugins {
|
|||||||
|
|
||||||
val PUBLISH_GROUP_ID = "com.github.adriankuta"
|
val PUBLISH_GROUP_ID = "com.github.adriankuta"
|
||||||
val PUBLISH_ARTIFACT_ID = "tree-structure" // base artifact; KMP will add -jvm, -ios*, etc.
|
val PUBLISH_ARTIFACT_ID = "tree-structure" // base artifact; KMP will add -jvm, -ios*, etc.
|
||||||
val PUBLISH_VERSION = "3.1.4"
|
val PUBLISH_VERSION = "3.1.5"
|
||||||
|
|
||||||
val snapshot: String? by project
|
val snapshot: String? by project
|
||||||
|
|
||||||
@@ -119,7 +119,7 @@ kotlin {
|
|||||||
sourceSets {
|
sourceSets {
|
||||||
val commonMain by getting
|
val commonMain by getting
|
||||||
val commonTest by getting { dependencies { implementation(kotlin("test")) } }
|
val commonTest by getting { dependencies { implementation(kotlin("test")) } }
|
||||||
val jvmMain by getting { dependencies { implementation(kotlin("script-runtime")) } }
|
val jvmMain by getting
|
||||||
val jvmTest by getting
|
val jvmTest by getting
|
||||||
val jsMain by getting
|
val jsMain by getting
|
||||||
val jsTest by getting
|
val jsTest by getting
|
||||||
|
|||||||
@@ -62,7 +62,6 @@ open class TreeNode<T>(val value: T, var treeIterator: TreeNodeIterators = PreOr
|
|||||||
* @return `true` if the node has been successfully removed; `false` if it was not present in the tree.
|
* @return `true` if the node has been successfully removed; `false` if it was not present in the tree.
|
||||||
*/
|
*/
|
||||||
fun removeChild(child: TreeNode<T>): Boolean {
|
fun removeChild(child: TreeNode<T>): Boolean {
|
||||||
println(child.value)
|
|
||||||
val removed = child._parent?._children?.remove(child)
|
val removed = child._parent?._children?.remove(child)
|
||||||
child._parent = null
|
child._parent = null
|
||||||
return removed ?: false
|
return removed ?: false
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
package com.github.adriankuta.datastructure.tree
|
|
||||||
|
|
||||||
import kotlin.test.Test
|
|
||||||
import kotlin.test.assertEquals
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Example local unit test, which will execute on the development machine (host).
|
|
||||||
*
|
|
||||||
* See [testing documentation](http://d.android.com/tools/testing).
|
|
||||||
*/
|
|
||||||
class ExampleUnitTest {
|
|
||||||
@Test
|
|
||||||
fun addition_isCorrect() {
|
|
||||||
assertEquals(4, 2 + 2)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -4,7 +4,9 @@ import com.github.adriankuta.datastructure.tree.iterators.TreeNodeIterators
|
|||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
import kotlin.test.assertContentEquals
|
import kotlin.test.assertContentEquals
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
import kotlin.test.assertFalse
|
||||||
import kotlin.test.assertNull
|
import kotlin.test.assertNull
|
||||||
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
class TreeNodeTest {
|
class TreeNodeTest {
|
||||||
|
|
||||||
@@ -62,6 +64,18 @@ class TreeNodeTest {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun removeChildReturnsTrueWhenPresentFalseOtherwise() {
|
||||||
|
val root = TreeNode("Root")
|
||||||
|
val child = TreeNode("Child")
|
||||||
|
root.addChild(child)
|
||||||
|
|
||||||
|
assertTrue(root.removeChild(child), "Removing a present child returns true")
|
||||||
|
assertFalse(root.removeChild(child), "Removing an already-removed child returns false")
|
||||||
|
assertNull(child.parent, "Removed child is detached from its parent")
|
||||||
|
assertEquals(emptyList(), root.children)
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun clearTest() {
|
fun clearTest() {
|
||||||
val root = TreeNode("Root")
|
val root = TreeNode("Root")
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
import com.github.adriankuta.datastructure.tree.tree
|
|
||||||
|
|
||||||
val root =
|
|
||||||
tree("World") {
|
|
||||||
child("North America") {
|
|
||||||
child("USA")
|
|
||||||
}
|
|
||||||
child("Europe") {
|
|
||||||
child("Poland")
|
|
||||||
child("Germany")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
print(root.prettyString())
|
|
||||||
Reference in New Issue
Block a user