From e97703e23ac7823beab7aa0a50d92e21ddf19903 Mon Sep 17 00:00:00 2001 From: Berack96 Date: Wed, 12 Feb 2025 21:25:20 +0100 Subject: [PATCH] Refactor toString method in Net class for improved output formatting and update unit tests accordingly --- .../java/net/berack/upo/valpre/sim/Net.java | 19 +-------- .../upo/valpre/sim/TestInteractions.java | 42 +++++++++++-------- 2 files changed, 27 insertions(+), 34 deletions(-) diff --git a/src/main/java/net/berack/upo/valpre/sim/Net.java b/src/main/java/net/berack/upo/valpre/sim/Net.java index e16bfe8..b69a1a6 100644 --- a/src/main/java/net/berack/upo/valpre/sim/Net.java +++ b/src/main/java/net/berack/upo/valpre/sim/Net.java @@ -253,23 +253,8 @@ public final class Net implements Iterable { var builder = new StringBuilder(); try { for (var node : this.servers) { - var dist = node.service.getClass(); - - builder.append(node.name) - .append("[servers:") - .append(node.maxServers) - .append(", queue:") - .append(node.maxQueue) - .append(", spawn:") - .append(node.spawnArrivals) - .append(", ") - .append(dist.getSimpleName()) - .append("("); - - for (var param : dist.getFields()) - builder.append(param.get(node.service)).append(", "); - builder.delete(builder.length() - 2, builder.length()) - .append(")] -> "); + builder.append(node) + .append(" -> "); for (var child : this.getChildren(this.indices.get(node))) { var childNode = this.servers.get(child.index); diff --git a/src/test/java/net/berack/upo/valpre/sim/TestInteractions.java b/src/test/java/net/berack/upo/valpre/sim/TestInteractions.java index 7949000..7c5a67e 100644 --- a/src/test/java/net/berack/upo/valpre/sim/TestInteractions.java +++ b/src/test/java/net/berack/upo/valpre/sim/TestInteractions.java @@ -55,31 +55,39 @@ public class TestInteractions { var net = new Net(); assertEquals("", net.toString()); - net.addNode(new ServerNode.Builder("Source", new Distribution.Exponential(1)).build()); - assertEquals("Source[servers:1, queue:100, spawn:0, Exponential(1.0)] -\n", net.toString()); + var node1 = new ServerNode.Builder("Source", new Distribution.Exponential(1)).build(); + net.addNode(node1); + assertEquals(node1 + " -\n", net.toString()); - net.addNode(new ServerNode.Builder("Server", new Distribution.Normal(3.2, 0.6)).build()); - assertEquals("Source[servers:1, queue:100, spawn:0, Exponential(1.0)] -\n" - + "Server[servers:1, queue:100, spawn:0, Normal(3.2, 0.6)] -\n", net.toString()); + var node2 = new ServerNode.Builder("Server", new Distribution.Normal(3.2, 0.6)).build(); + net.addNode(node2); + assertEquals(node1 + " -\n" + node2 + " -\n", net.toString()); net.addConnection(0, 1, 1.0); - assertEquals("Source[servers:1, queue:100, spawn:0, Exponential(1.0)] -> Server(1.0)\n" - + "Server[servers:1, queue:100, spawn:0, Normal(3.2, 0.6)] -\n", net.toString()); + assertEquals(node1 + " -> Server(1.0)\n" + node2 + " -\n", net.toString()); - net.addNode(new ServerNode.Builder("Server2", new Distribution.Normal(4.1, 0.1)).build()); - assertEquals("Source[servers:1, queue:100, spawn:0, Exponential(1.0)] -> Server(1.0)\n" - + "Server[servers:1, queue:100, spawn:0, Normal(3.2, 0.6)] -\n" - + "Server2[servers:1, queue:100, spawn:0, Normal(4.1, 0.1)] -\n", net.toString()); + var node3 = new ServerNode.Builder("Server2", new Distribution.Normal(4.1, 0.1)).build(); + net.addNode(node3); + assertEquals(node1 + " -> Server(1.0)\n" + node2 + " -\n" + node3 + " -\n", net.toString()); net.addConnection(0, 2, 1.0); net.normalizeWeights(); - assertEquals("Source[servers:1, queue:100, spawn:0, Exponential(1.0)] -> Server(0.5), Server2(0.5)\n" - + "Server[servers:1, queue:100, spawn:0, Normal(3.2, 0.6)] -\n" - + "Server2[servers:1, queue:100, spawn:0, Normal(4.1, 0.1)] -\n", net.toString()); + assertEquals(node1 + " -> Server(0.5), Server2(0.5)\n" + node2 + " -\n" + node3 + " -\n", net.toString()); net.addConnection(1, 2, 1.0); - assertEquals("Source[servers:1, queue:100, spawn:0, Exponential(1.0)] -> Server(0.5), Server2(0.5)\n" - + "Server[servers:1, queue:100, spawn:0, Normal(3.2, 0.6)] -> Server2(1.0)\n" - + "Server2[servers:1, queue:100, spawn:0, Normal(4.1, 0.1)] -\n", net.toString()); + assertEquals(node1 + " -> Server(0.5), Server2(0.5)\n" + + node2 + " -> Server2(1.0)\n" + + node3 + " -\n", + net.toString()); + + var const0 = new Distribution.Uniform(0, 0); + var unavailable = new Distribution.UnavailableTime(0.1, new Distribution.Exponential(1)); + var other = ServerNode.Builder.queue("Other", 1, const0, unavailable); + net.addNode(other); + assertEquals(node1 + " -> Server(0.5), Server2(0.5)\n" + + node2 + " -> Server2(1.0)\n" + + node3 + " -\n" + + other + " -\n", + net.toString()); } }