@Override public boolean equals(Object o) { if (o == this) { return true; } if (o instanceof Experiment.SimulationResult) { Experiment.SimulationResult that = (Experiment.SimulationResult) o; return (this.simArgs.equals(that.getSimArgs())) && (this.resultObject.equals(that.getResultObject())); } return false; }
@Override public boolean equals(Object o) { if (o == this) { return true; } if (o instanceof Experiment.SimulationResult) { Experiment.SimulationResult that = (Experiment.SimulationResult) o; return (this.simArgs.equals(that.getSimArgs())) && (this.resultObject.equals(that.getResultObject())); } return false; }
@Override public void onSuccess(@Nullable SimulationResult result) { final SimulationResult res = verifyNotNull(result); for (final ResultListener rl : resultListeners) { try { rl.receive(res); } catch (final RuntimeException e) { System.err .println("ResultListener " + rl + " failed to receive result."); e.printStackTrace(System.err); } } if (res.getResultObject() == FailureStrategy.RETRY) { final ExperimentRunner newRunner = new ExperimentRunner(res.getSimArgs()); Futures.addCallback(executor.submit(newRunner), this); } else { results.add(result); } } }
sr.getSimArgs().getRandomSeed() + " " + sr.getResultObject());
sr.getSimArgs().getRandomSeed() + " " + sr.getResultObject());
@Override public void onSuccess(@Nullable SimulationResult result) { final SimulationResult res = verifyNotNull(result); for (final ResultListener rl : resultListeners) { try { rl.receive(res); } catch (final RuntimeException e) { System.err .println("ResultListener " + rl + " failed to receive result."); e.printStackTrace(System.err); } } if (res.getResultObject() == FailureStrategy.RETRY) { final ExperimentRunner newRunner = new ExperimentRunner(res.getSimArgs()); Futures.addCallback(executor.submit(newRunner), this); } else { results.add(result); } } }
@Test public void testCustomPostProcessor() { TestUtil.testEnum(Experiment.Computers.class); final Scenario scenario = ScenarioTestUtil.createRandomScenario(123L, StatsTracker.builder()); final Experiment.Builder builder = Experiment.builder() .addScenario(scenario) .addConfiguration(ExperimentTestUtil.testConfig("test")) .usePostProcessor(ExperimentTestUtil.testPostProcessor()) .addResultListener(new CommandLineProgress(System.out)) .withRandomSeed(123); final ExperimentResults er = builder.perform(); assertEquals(123, er.getMasterSeed()); assertEquals(123, er.getResults().asList().get(0).getSimArgs().getRandomSeed()); @SuppressWarnings("unchecked") final List<Point> positions = (List<Point>) er.getResults().asList().get(0).getResultObject(); assertEquals(10, positions.size()); }
@Override public int compareTo(@Nullable SimulationResult o) { assert o != null; return ComparisonChain.start() .compare(getSimArgs().getScenario().getProblemClass().getId(), o.getSimArgs().getScenario().getProblemClass().getId()) .compare(getSimArgs().getScenario().getProblemInstanceId(), o.getSimArgs().getScenario().getProblemInstanceId()) .result(); }
@Override public int compareTo(@Nullable SimulationResult o) { assert o != null; return ComparisonChain.start() .compare(getSimArgs().getScenario().getProblemClass().getId(), o.getSimArgs().getScenario().getProblemClass().getId()) .compare(getSimArgs().getScenario().getProblemInstanceId(), o.getSimArgs().getScenario().getProblemInstanceId()) .result(); }
static void assertSeedEquality(List<SimulationResult> results) { checkArgument(!results.isEmpty()); final long seed = results.get(0).getSimArgs().getRandomSeed(); for (final SimulationResult sr : results) { assertThat(sr.getSimArgs().getRandomSeed()).isEqualTo(seed); } }
static void assertSimRes(SimulationResult sr, Scenario s, MASConfiguration c, int r) { assertThat(sr.getSimArgs().getScenario()).isEqualTo(s); assertThat(sr.getSimArgs().getMasConfig()).isEqualTo(c); assertThat(sr.getSimArgs().getRepetition()).isEqualTo(r); }