1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 16:28:12 -07:00

Move test to the right place.

This commit is contained in:
Cedric Beust 2016-04-17 10:13:24 -07:00
parent 67c344931a
commit ed9694dea2
2 changed files with 40 additions and 36 deletions

View file

@ -5,7 +5,6 @@ import com.beust.kobalt.misc.NamedThreadFactory
import com.beust.kobalt.misc.error import com.beust.kobalt.misc.error
import com.beust.kobalt.misc.log import com.beust.kobalt.misc.log
import com.google.common.collect.HashMultimap import com.google.common.collect.HashMultimap
import org.testng.Assert
import java.lang.reflect.InvocationTargetException import java.lang.reflect.InvocationTargetException
import java.util.* import java.util.*
import java.util.concurrent.* import java.util.concurrent.*
@ -22,7 +21,7 @@ class Node<T>(val value: T) {
class DG<T> { class DG<T> {
val VERBOSE = 1 val VERBOSE = 1
val values : Collection<T> get() = nodes.map { it.value } val values : Collection<T> get() = nodes.map { it.value }
internal val nodes = hashSetOf<Node<T>>() val nodes = hashSetOf<Node<T>>()
private val dependedUpon = HashMultimap.create<Node<T>, Node<T>>() private val dependedUpon = HashMultimap.create<Node<T>, Node<T>>()
private val dependingOn = HashMultimap.create<Node<T>, Node<T>>() private val dependingOn = HashMultimap.create<Node<T>, Node<T>>()
@ -205,38 +204,4 @@ fun main(argv: Array<String>) {
} }
DGExecutor(dg, factory).run() DGExecutor(dg, factory).run()
DG<String>().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())
}
} }

View file

@ -131,4 +131,43 @@ public class DynamicGraphTest {
val sorted = dg.sort(arrayListOf("a1", "a2", "b1", "b2", "c1", "x", "y")) val sorted = dg.sort(arrayListOf("a1", "a2", "b1", "b2", "c1", "x", "y"))
Assert.assertEquals(sorted, arrayListOf("a1", "a2", "x", "y", "b1", "b2", "c1")) Assert.assertEquals(sorted, arrayListOf("a1", "a2", "x", "y", "b1", "b2", "c1"))
} }
@Test
fun runAfter() {
DG<String>().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())
}
}
} }