diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2017-09-08 12:57:12 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2017-09-08 12:57:12 +0200 |
| commit | 314c68fb4b4202538cfdb21aa2a56b2aa3aad6fb (patch) | |
| tree | 8047a1855ee70653083f2d8977cf6790c056526d | |
| parent | 1a9cb7cfd2a67c32fd89d490f1462c59fa0d33b9 (diff) | |
Allow easier construction of graph via TopologyBuilder
This change allows for easier construction of a topology.
| -rw-r--r-- | opendc-core/src/main/kotlin/nl/atlarge/opendc/topology/TopologyBuilder.kt | 8 | ||||
| -rw-r--r-- | opendc-core/src/test/kotlin/nl/atlarge/opendc/SmokeTest.kt | 2 |
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 |
