### Question:
Experiment { boolean isComplete () { return getExperimentState().isComplete(); } Experiment(Container container); String getExperimentMethodName(); Container getContainer(); void setPreferredExperiment(String preferredExperiment); Instant getLastSelfHealingTime(); @JsonIgnore Platform getExperimentLayer(); String getExperimentLayerName(); @JsonIgnore ExperimentMethod getExperimentMethod(); Runnable getSelfHealingMethod(); void setSelfHealingMethod(Runnable selfHealingMethod); @JsonIgnore Runnable getFinalizeMethod(); void setFinalizeMethod(Runnable finalizeMethod); @JsonIgnore Callable<ContainerHealth> getCheckContainerHealth(); void setCheckContainerHealth(Callable<ContainerHealth> checkContainerHealth); void setFinalizationDuration(Duration finalizationDuration); String getId(); ExperimentType getExperimentType(); AtomicInteger getSelfHealingCounter(); ExperimentState getExperimentState(); Instant getStartTime(); void setMinimumDuration(Duration minimumDuration); void setMaximumDuration(Duration maximumDuration); Boolean getWasSelfHealingRequired(); @Override String toString();  }### Answer:
@Test public void isComplete () { EnumMap<ExperimentState, Boolean> completeExperimentStateMap; completeExperimentStateMap = new EnumMap<>(ExperimentState.class); Arrays.stream(ExperimentState.values()).forEach(experimentState -> completeExperimentStateMap.put(experimentState, false)); completeExperimentStateMap.put(FINISHED, true); completeExperimentStateMap.put(FAILED, true); completeExperimentStateMap.forEach((k, v) -> { experiment.setExperimentState(k); assertEquals(v, experiment.isComplete()); }); }