### Question:
ActionUiCargoPanelUnload implements Sc2ApiSerializable<Ui.ActionCargoPanelUnload> { public static ActionUiCargoPanelUnload from(Ui.ActionCargoPanelUnload sc2ApiActionCargoPanelUnload) { require("sc2api action ui cargo panel unload", sc2ApiActionCargoPanelUnload); return new ActionUiCargoPanelUnload(sc2ApiActionCargoPanelUnload); } private  ActionUiCargoPanelUnload(Builder builder); private  ActionUiCargoPanelUnload(Ui.ActionCargoPanelUnload sc2ApiActionCargoPanelUnload); static ActionUiCargoPanelUnload from(Ui.ActionCargoPanelUnload sc2ApiActionCargoPanelUnload); static ActionUiCargoPanelUnloadSyntax cargoPanelUnload(); int getUnitIndex(); @Override Ui.ActionCargoPanelUnload toSc2Api(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void throwsExceptionWhenSc2ApiActionUiCargoPanelUnloadIsNull() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> ActionUiCargoPanelUnload.from(nothing())) .withMessage("sc2api action ui cargo panel unload is required"); }
@Test void convertsSc2ApiActionUiCargoPanelUnloadToActionUiCargoPanelUnload() { assertThatAllFieldsAreConverted(ActionUiCargoPanelUnload.from(sc2ApiActionUiCargoPanelUnload())); }