From ed9694dea2aec04ea09dd8518aac9e07a7e89f5b Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Sun, 17 Apr 2016 10:13:24 -0700 Subject: [PATCH] Move test to the right place. --- .../kotlin/com/beust/kobalt/internal/DG.kt | 37 +----------------- .../beust/kobalt/internal/DynamicGraphTest.kt | 39 +++++++++++++++++++ 2 files changed, 40 insertions(+), 36 deletions(-) diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/DG.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/DG.kt index 9833ee3b..3f47c66c 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/DG.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/DG.kt @@ -5,7 +5,6 @@ import com.beust.kobalt.misc.NamedThreadFactory import com.beust.kobalt.misc.error import com.beust.kobalt.misc.log import com.google.common.collect.HashMultimap -import org.testng.Assert import java.lang.reflect.InvocationTargetException import java.util.* import java.util.concurrent.* @@ -22,7 +21,7 @@ class Node(val value: T) { class DG { val VERBOSE = 1 val values : Collection get() = nodes.map { it.value } - internal val nodes = hashSetOf>() + val nodes = hashSetOf>() private val dependedUpon = HashMultimap.create, Node>() private val dependingOn = HashMultimap.create, Node>() @@ -205,38 +204,4 @@ fun main(argv: Array) { } DGExecutor(dg, factory).run() - - DG().apply { - // a -> b - // b -> c, d - // e - // Order should be: [c,d,e] [b] [a] - addEdge("a", "b") - addEdge("b", "c") - addEdge("b", "d") - addNode("e") - log(VERBOSE, dump()) - Assert.assertEquals(freeNodes, setOf("c", "d", "e")) - - removeNode("c") - log(VERBOSE, dump()) - Assert.assertEquals(freeNodes, setOf("d", "e")) - - removeNode("d") - log(VERBOSE, dump()) - Assert.assertEquals(freeNodes, setOf("b", "e")) - - removeNode("e") - log(VERBOSE, dump()) - Assert.assertEquals(freeNodes, setOf("b")) - - removeNode("b") - log(VERBOSE, dump()) - Assert.assertEquals(freeNodes, setOf("a")) - - removeNode("a") - log(VERBOSE, dump()) - Assert.assertTrue(freeNodes.isEmpty()) - Assert.assertTrue(nodes.isEmpty()) - } } diff --git a/src/test/kotlin/com/beust/kobalt/internal/DynamicGraphTest.kt b/src/test/kotlin/com/beust/kobalt/internal/DynamicGraphTest.kt index eacb313d..66d970de 100644 --- a/src/test/kotlin/com/beust/kobalt/internal/DynamicGraphTest.kt +++ b/src/test/kotlin/com/beust/kobalt/internal/DynamicGraphTest.kt @@ -131,4 +131,43 @@ public class DynamicGraphTest { val sorted = dg.sort(arrayListOf("a1", "a2", "b1", "b2", "c1", "x", "y")) Assert.assertEquals(sorted, arrayListOf("a1", "a2", "x", "y", "b1", "b2", "c1")) } + + @Test + fun runAfter() { + + DG().apply { + // a -> b + // b -> c, d + // e + // Order should be: [c,d,e] [b] [a] + addEdge("a", "b") + addEdge("b", "c") + addEdge("b", "d") + addNode("e") + log(VERBOSE, dump()) + Assert.assertEquals(freeNodes, setOf("c", "d", "e")) + + removeNode("c") + log(VERBOSE, dump()) + Assert.assertEquals(freeNodes, setOf("d", "e")) + + removeNode("d") + log(VERBOSE, dump()) + Assert.assertEquals(freeNodes, setOf("b", "e")) + + removeNode("e") + log(VERBOSE, dump()) + Assert.assertEquals(freeNodes, setOf("b")) + + removeNode("b") + log(VERBOSE, dump()) + Assert.assertEquals(freeNodes, setOf("a")) + + removeNode("a") + log(VERBOSE, dump()) + Assert.assertTrue(freeNodes.isEmpty()) + Assert.assertTrue(nodes.isEmpty()) + } + } + } \ No newline at end of file