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:
parent
67c344931a
commit
ed9694dea2
2 changed files with 40 additions and 36 deletions
|
@ -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())
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue