summaryrefslogtreecommitdiff
path: root/opendc-core
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-core')
-rw-r--r--opendc-core/src/main/kotlin/nl/atlarge/opendc/topology/TopologyBuilder.kt8
-rw-r--r--opendc-core/src/test/kotlin/nl/atlarge/opendc/SmokeTest.kt2
2 files changed, 9 insertions, 1 deletions
diff --git a/opendc-core/src/main/kotlin/nl/atlarge/opendc/topology/TopologyBuilder.kt b/opendc-core/src/main/kotlin/nl/atlarge/opendc/topology/TopologyBuilder.kt
index 5752eb89..20cbdb0c 100644
--- a/opendc-core/src/main/kotlin/nl/atlarge/opendc/topology/TopologyBuilder.kt
+++ b/opendc-core/src/main/kotlin/nl/atlarge/opendc/topology/TopologyBuilder.kt
@@ -31,6 +31,14 @@ package nl.atlarge.opendc.topology
*/
interface TopologyBuilder {
/**
+ * Construct a [Topology] from the given block and return it.
+ *
+ * @param block The block to construct the topology.
+ * @return The topology that has been built.
+ */
+ fun construct(block: MutableTopology.() -> Unit): Topology = build().apply(block)
+
+ /**
* Build a [Topology] instance from the current state of this builder.
*
* @return The graph built from this builder.
diff --git a/opendc-core/src/test/kotlin/nl/atlarge/opendc/SmokeTest.kt b/opendc-core/src/test/kotlin/nl/atlarge/opendc/SmokeTest.kt
index 50e22734..6d67c941 100644
--- a/opendc-core/src/test/kotlin/nl/atlarge/opendc/SmokeTest.kt
+++ b/opendc-core/src/test/kotlin/nl/atlarge/opendc/SmokeTest.kt
@@ -35,7 +35,7 @@ internal class SmokeTest {
@Test
fun smoke() {
val builder = AdjacencyListTopologyBuilder()
- val topology = builder.build().apply {
+ val topology = builder.construct {
val rack = node(Rack())
val n = 100
// Create n machines in the rack