summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
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);
+ }
+ }
}