### Question:
DebugCommand implements Sc2ApiSerializable<Debug.DebugCommand> { public static Builder command() { return new Builder(); } private  DebugCommand(DebugDraw draw); private  DebugCommand(DebugGameState gameState); private  DebugCommand(DebugCreateUnit createUnit); private  DebugCommand(DebugKillUnit killUnit); private  DebugCommand(DebugTestProcess testProcess); private  DebugCommand(DebugSetScore setScore); private  DebugCommand(DebugEndGame endGame); private  DebugCommand(DebugSetUnitValue setUnitValue); static Builder command(); @Override Debug.DebugCommand toSc2Api(); Optional<DebugDraw> getDraw(); Optional<DebugGameState> getGameState(); Optional<DebugCreateUnit> getCreateUnit(); Optional<DebugKillUnit> getKillUnit(); Optional<DebugTestProcess> getTestProcess(); Optional<DebugSetScore> getSetScore(); Optional<DebugEndGame> getEndGame(); Optional<DebugSetUnitValue> getSetUnitValue(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void throwsExceptionWhenThereIsNoActionCase() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> command().of((DebugDraw) nothing())) .withMessage("draw is required"); assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> command().of((DebugGameState) nothing())) .withMessage("game state is required"); assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> command().of((DebugCreateUnit) nothing())) .withMessage("create unit is required"); assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> command().of((DebugKillUnit) nothing())) .withMessage("kill unit is required"); assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> command().of((DebugTestProcess) nothing())) .withMessage("test process is required"); assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> command().of((DebugSetScore) nothing())) .withMessage("set score is required"); assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> command().of((DebugEndGame) nothing())) .withMessage("end game is required"); assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> command().of((DebugSetUnitValue) nothing())) .withMessage("set unit value is required"); }