### Question:
Simulator implements ShutdownManager { public void run(SimulationPlan plan) throws Throwable { if (SimulationType.THREADED.equals(plan.getSimulationType())) { this.runThreadedSimulation(plan); } else if (SimulationType.SEQUENTIAL.equals(plan.getSimulationType())) { this.runSequentialSimulation(plan); } else { throw new UnsupportedOperationException("Simulation type " + plan.getSimulationType() + " not implemented."); } }  void run(SimulationPlan plan); @Override synchronized void shutdown(int status);  }### Answer:
@Test public void runSimulator() throws Throwable { File jsonFile = new File(getClass().getResource("test-simulator.json").toURI()); SimulationPlanner planner = new SimulationPlanner(); SimulationPlan plan = planner.create(jsonFile); Simulator simulator = new Simulator(); simulator.run(plan); }