summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-27 14:50:55 +0200
committerPaul Buetow <paul@buetow.org>2026-03-27 14:50:55 +0200
commit7088d292893e3e20324b04527e93de9b1c73f6aa (patch)
tree3b2b98a993c8d2f2a205e444e02c1bafe702637c /src/test
parent3919d141328dd51e6e9c5f94bb7e58e216e4e13a (diff)
Fix GUI loader to restore serialized prefs
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/simulator/VSSimulatorFrameStartupTest.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/java/simulator/VSSimulatorFrameStartupTest.java b/src/test/java/simulator/VSSimulatorFrameStartupTest.java
index ecd64a3..f540033 100644
--- a/src/test/java/simulator/VSSimulatorFrameStartupTest.java
+++ b/src/test/java/simulator/VSSimulatorFrameStartupTest.java
@@ -13,6 +13,7 @@ import org.junit.jupiter.api.Assumptions;
import org.junit.jupiter.api.Test;
import prefs.VSDefaultPrefs;
+import serialize.VSSerialize;
public class VSSimulatorFrameStartupTest {
private static final String RAFT_FILE = "saved-simulations/raft.dat";
@@ -78,4 +79,27 @@ public class VSSimulatorFrameStartupTest {
SwingUtilities.invokeAndWait(frame::dispose);
}
}
+
+ @Test
+ void openSimulatorPreservesSavedReplayDuration() throws Exception {
+ Assumptions.assumeFalse(GraphicsEnvironment.isHeadless(),
+ "requires a display");
+
+ TrackingSimulatorFrame frame = new TrackingSimulatorFrame();
+ try {
+ frame.resetTracking();
+
+ VSSerialize serialize = new VSSerialize();
+ VSSimulator simulator = serialize.openSimulator(RAFT_FILE, frame);
+ assertNotNull(simulator);
+
+ SwingUtilities.invokeAndWait(() -> { });
+
+ assertEquals(simulator, frame.getCurrentSimulator());
+ assertEquals(60, simulator.getPrefs().getInteger("sim.seconds"));
+ assertEquals(60000L, simulator.getSimulatorCanvas().getUntilTime());
+ } finally {
+ SwingUtilities.invokeAndWait(frame::dispose);
+ }
+ }
}