### Question:
ActionUiSelectArmy implements Sc2ApiSerializable<Ui.ActionSelectArmy> { public static ActionUiSelectArmy from(Ui.ActionSelectArmy sc2ApiActionSelectArmy) { require("sc2api action ui select army", sc2ApiActionSelectArmy); return new ActionUiSelectArmy(sc2ApiActionSelectArmy); } private  ActionUiSelectArmy(Builder builder); private  ActionUiSelectArmy(Ui.ActionSelectArmy sc2ApiActionSelectArmy); static ActionUiSelectArmySyntax selectArmy(); static ActionUiSelectArmy from(Ui.ActionSelectArmy sc2ApiActionSelectArmy); @Override Ui.ActionSelectArmy toSc2Api(); boolean isSelectionAdd(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void throwsExceptionWhenSc2ApiActionUiSelectArmyIsNull() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> ActionUiSelectArmy.from(nothing())) .withMessage("sc2api action ui select army is required"); }
@Test void convertsSc2ApiActionUiSelectArmyToActionUiSelectArmy() { assertThatAllFieldsAreConverted(ActionUiSelectArmy.from(sc2ApiActionUiSelectArmy())); }