Refactor
- simulation result handling to use builder pattern - result to use only arrays instead of maps - updated references to other classes
This commit is contained in:
@@ -1,11 +1,10 @@
|
||||
package net.berack.upo.valpre.sim;
|
||||
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
@@ -78,8 +77,8 @@ public class TestSaveExamplesNet {
|
||||
|
||||
assertEquals(Rng.DEFAULT, res.seed);
|
||||
assertEquals(time, res.simulationTime, maxErr);
|
||||
testNode(res.nodes.get("Source"), 10000, time, 1.0, 4.5, 0.0, 0.0);
|
||||
testNode(res.nodes.get("Queue"), 10000, time, 2.6, 7.2, 4.0, 0.0);
|
||||
testNode(res.getStat("Source"), 10000, time, 1.0, 4.5, 0.0, 0.0);
|
||||
testNode(res.getStat("Queue"), 10000, time, 2.6, 7.2, 4.0, 0.0);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -91,9 +90,9 @@ public class TestSaveExamplesNet {
|
||||
|
||||
assertEquals(Rng.DEFAULT, res.seed);
|
||||
assertEquals(time, res.simulationTime, maxErr);
|
||||
testNode(res.nodes.get("Source"), 10000, time, 1.0, 4.5, 0.0, 0.0);
|
||||
testNode(res.nodes.get("Queue"), 10000, time, 2.6, 7.2, 4.0, 0.0);
|
||||
testNode(res.nodes.get("Queue Wait"), 10000, time, 5.8, 22.3, 19.1, 8497.7);
|
||||
testNode(res.getStat("Source"), 10000, time, 1.0, 4.5, 0.0, 0.0);
|
||||
testNode(res.getStat("Queue"), 10000, time, 2.6, 7.2, 4.0, 0.0);
|
||||
testNode(res.getStat("Queue Wait"), 10000, time, 5.8, 22.3, 19.1, 8497.7);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -105,9 +104,9 @@ public class TestSaveExamplesNet {
|
||||
|
||||
assertEquals(Rng.DEFAULT, res.seed);
|
||||
assertEquals(time, res.simulationTime, maxErr);
|
||||
testNode(res.nodes.get("Source"), 10000, time, 1.0, 0.6, 0.0, 0.0);
|
||||
testNode(res.nodes.get("Service1"), 10000, time, 3.5, 1.7, 1.2, 0.0);
|
||||
testNode(res.nodes.get("Service2"), 10000, time, 1.7, 0.5, 0.22, 102.2);
|
||||
testNode(res.getStat("Source"), 10000, time, 1.0, 0.6, 0.0, 0.0);
|
||||
testNode(res.getStat("Service1"), 10000, time, 3.5, 1.7, 1.2, 0.0);
|
||||
testNode(res.getStat("Service2"), 10000, time, 1.7, 0.5, 0.22, 102.2);
|
||||
}
|
||||
|
||||
private void testNode(NodeStats stat, double numClients, double time, double avgQueue,
|
||||
@@ -140,11 +139,11 @@ public class TestSaveExamplesNet {
|
||||
var list = new CsvResult(csv1).loadResults();
|
||||
var seeds = new HashSet<Long>();
|
||||
for (var element : list) {
|
||||
assertEquals(Set.of("Source", "Queue"), element.nodes.keySet());
|
||||
assertEquals(10000, element.nodes.get("Source").numArrivals, 0.1);
|
||||
assertEquals(10000, element.nodes.get("Queue").numArrivals, 0.1);
|
||||
assertEquals(0.22, element.nodes.get("Source").throughput, 0.1);
|
||||
assertEquals(0.22, element.nodes.get("Queue").throughput, 0.1);
|
||||
assertArrayEquals(new String[] { "Source", "Queue" }, element.nodes);
|
||||
assertEquals(10000, element.getStat("Source").numArrivals, 0.1);
|
||||
assertEquals(10000, element.getStat("Queue").numArrivals, 0.1);
|
||||
assertEquals(0.22, element.getStat("Source").throughput, 0.1);
|
||||
assertEquals(0.22, element.getStat("Queue").throughput, 0.1);
|
||||
|
||||
seeds.add(element.seed);
|
||||
}
|
||||
|
||||
@@ -495,11 +495,11 @@ public class TestSimulation {
|
||||
assertEquals(2.0, result.simulationTime, DELTA);
|
||||
assertEquals(sim.seed, result.seed);
|
||||
assertEquals(elapsed * 1e-6, result.timeElapsedMS, diff);
|
||||
assertEquals(2, result.nodes.size());
|
||||
assertEquals(1, result.nodes.get(node0.name).numArrivals, DELTA);
|
||||
assertEquals(1, result.nodes.get(node0.name).numDepartures, DELTA);
|
||||
assertEquals(1, result.nodes.get(node1.name).numArrivals, DELTA);
|
||||
assertEquals(1, result.nodes.get(node1.name).numDepartures, DELTA);
|
||||
assertEquals(2, result.stats.length);
|
||||
assertEquals(1, result.stats[0].numArrivals, DELTA);
|
||||
assertEquals(1, result.stats[0].numDepartures, DELTA);
|
||||
assertEquals(1, result.stats[1].numArrivals, DELTA);
|
||||
assertEquals(1, result.stats[1].numDepartures, DELTA);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -520,10 +520,10 @@ public class TestSimulation {
|
||||
assertTrue(sim.hasEnded());
|
||||
var res = sim.endSimulation();
|
||||
|
||||
assertEquals(6, res.nodes.get(node0.name).numArrivals, DELTA);
|
||||
assertEquals(5, res.nodes.get(node0.name).numDepartures, DELTA);
|
||||
assertEquals(4, res.nodes.get(node1.name).numArrivals, DELTA);
|
||||
assertEquals(3, res.nodes.get(node1.name).numDepartures, DELTA);
|
||||
assertEquals(6, res.stats[0].numArrivals, DELTA);
|
||||
assertEquals(5, res.stats[0].numDepartures, DELTA);
|
||||
assertEquals(4, res.stats[1].numArrivals, DELTA);
|
||||
assertEquals(3, res.stats[1].numDepartures, DELTA);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -533,7 +533,7 @@ public class TestSimulation {
|
||||
|
||||
var sim = new Simulation(net, rigged);
|
||||
var result = sim.run();
|
||||
var nodeStat = result.nodes.get("Source");
|
||||
var nodeStat = result.getStat("Source");
|
||||
assertEquals(50, nodeStat.numArrivals, DELTA);
|
||||
assertEquals(50, nodeStat.numDepartures, DELTA);
|
||||
assertEquals(1.0, nodeStat.avgQueueLength, DELTA);
|
||||
@@ -551,7 +551,7 @@ public class TestSimulation {
|
||||
|
||||
sim = new Simulation(net, rigged);
|
||||
result = sim.run();
|
||||
nodeStat = result.nodes.get("Source");
|
||||
nodeStat = result.getStat("Source");
|
||||
assertEquals(50, nodeStat.numArrivals, DELTA);
|
||||
assertEquals(50, nodeStat.numDepartures, DELTA);
|
||||
assertEquals(1.0, nodeStat.avgQueueLength, DELTA);
|
||||
@@ -563,7 +563,7 @@ public class TestSimulation {
|
||||
assertEquals(1.0, nodeStat.throughput, DELTA);
|
||||
assertEquals(1.0, nodeStat.utilization, DELTA);
|
||||
assertEquals(0.0, nodeStat.unavailable, DELTA);
|
||||
nodeStat = result.nodes.get("Queue");
|
||||
nodeStat = result.getStat("Queue");
|
||||
assertEquals(50, nodeStat.numArrivals, DELTA);
|
||||
assertEquals(50, nodeStat.numDepartures, DELTA);
|
||||
assertEquals(1.0, nodeStat.avgQueueLength, DELTA);
|
||||
@@ -588,7 +588,7 @@ public class TestSimulation {
|
||||
var sim = new Simulation(net, rigged);
|
||||
var result = sim.run();
|
||||
|
||||
var nodeStat = result.nodes.get("Source");
|
||||
var nodeStat = result.getStat("Source");
|
||||
assertEquals(50, nodeStat.numArrivals, DELTA);
|
||||
assertEquals(50, nodeStat.numDepartures, DELTA);
|
||||
assertEquals(1.0, nodeStat.avgQueueLength, DELTA);
|
||||
@@ -601,7 +601,7 @@ public class TestSimulation {
|
||||
assertEquals(1.0, nodeStat.utilization, DELTA);
|
||||
assertEquals(0.0, nodeStat.unavailable, DELTA);
|
||||
|
||||
nodeStat = result.nodes.get("Queue");
|
||||
nodeStat = result.getStat("Queue");
|
||||
assertEquals(44, nodeStat.numArrivals, DELTA);
|
||||
assertEquals(44, nodeStat.numDepartures, DELTA);
|
||||
assertEquals(20.0, nodeStat.maxQueueLength, DELTA);
|
||||
|
||||
Reference in New Issue
Block a user