From c9abefa0b1f5d4a415306b4f8af51dca3e829de9 Mon Sep 17 00:00:00 2001 From: JoelCourtney Date: Fri, 22 Nov 2024 15:58:22 -0800 Subject: [PATCH] Test simulation input directives invariance --- .../jpl/aerie/scheduler/EditablePlanTest.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/scheduler-driver/src/test/java/gov/nasa/jpl/aerie/scheduler/EditablePlanTest.java b/scheduler-driver/src/test/java/gov/nasa/jpl/aerie/scheduler/EditablePlanTest.java index dbd7e4f991..625920f835 100644 --- a/scheduler-driver/src/test/java/gov/nasa/jpl/aerie/scheduler/EditablePlanTest.java +++ b/scheduler-driver/src/test/java/gov/nasa/jpl/aerie/scheduler/EditablePlanTest.java @@ -198,4 +198,28 @@ public void simResultMarkedNotStaleAfterRollback_SimulateThenCommit() { assertFalse(simResults.isStale()); } + + @Test + void simulationInputDirectivesDontChange() { + plan.create( + "BiteBanana", + new DirectiveStart.Absolute(Duration.MINUTE), + Map.of("biteSize", SerializedValue.of(1)) + ); + + final var expectedDirectives = plan.directives(); + final var simResults = plan.simulate(); + + plan.create( + "GrowBanana", + new DirectiveStart.Absolute(Duration.HOUR), + Map.of( + "growingDuration", SerializedValue.of(10), + "quantity", SerializedValue.of(1) + ) + ); + + assertIterableEquals(expectedDirectives, simResults.inputDirectives()); + assertNotEquals(plan.directives(), simResults.inputDirectives()); + } }