### Question:
ActionUiSelectIdleWorker implements Sc2ApiSerializable<Ui.ActionSelectIdleWorker> { public static ActionUiSelectIdleWorker from(Ui.ActionSelectIdleWorker sc2ApiActionSelectIdleWorker) { require("sc2api action ui select idle worker", sc2ApiActionSelectIdleWorker); return new ActionUiSelectIdleWorker(sc2ApiActionSelectIdleWorker); } private  ActionUiSelectIdleWorker(Builder builder); private  ActionUiSelectIdleWorker(Ui.ActionSelectIdleWorker sc2ApiActionSelectIdleWorker); static ActionUiSelectIdleWorkerSyntax selectIdleWorker(); static ActionUiSelectIdleWorker from(Ui.ActionSelectIdleWorker sc2ApiActionSelectIdleWorker); @Override Ui.ActionSelectIdleWorker toSc2Api(); Type getType(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void throwsExceptionWhenSc2ApiActionUiSelectIdleWorkerIsNull() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> ActionUiSelectIdleWorker.from(nothing())) .withMessage("sc2api action ui select idle worker is required"); }
@Test void convertsSc2ApiActionUiSelectIdleWorkerToActionUiSelectIdleWorker() { assertThatAllFieldsAreConverted(ActionUiSelectIdleWorker.from(sc2ApiActionUiSelectIdleWorker())); }
@Test void throwsExceptionWhenSelectIdleWorkerTypeIsNotProvided() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> ActionUiSelectIdleWorker.Type.from(nothing())) .withMessage("sc2api select idle worker type is required"); }