### Question:
ActionRawToggleAutocast implements Sc2ApiSerializable<Raw.ActionRawToggleAutocast>, GeneralizableAbility<ActionRawToggleAutocast> { public static ActionRawToggleAutocast from(Raw.ActionRawToggleAutocast sc2ApiActionRawToggleAutocast) { require("sc2api action raw toggle autocast", sc2ApiActionRawToggleAutocast); return new ActionRawToggleAutocast(sc2ApiActionRawToggleAutocast); } private  ActionRawToggleAutocast(Builder builder); private  ActionRawToggleAutocast(Raw.ActionRawToggleAutocast sc2ApiActionRawToggleAutocast); static ActionRawToggleAutocastSyntax toggleAutocast(); static ActionRawToggleAutocast from(Raw.ActionRawToggleAutocast sc2ApiActionRawToggleAutocast); @Override Raw.ActionRawToggleAutocast toSc2Api(); Ability getAbility(); Set<Tag> getUnitTags(); @Override ActionRawToggleAutocast generalizeAbility(UnaryOperator<Ability> generalize); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void throwsExceptionWhenSc2ApiActionRawToggleAutocastIsNull() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> ActionRawToggleAutocast.from(nothing())) .withMessage("sc2api action raw toggle autocast is required"); }
@Test void convertsSc2ApiActionRawToggleAutocastToActionRawToggleAutocast() { assertThatAllFieldsAreConverted(ActionRawToggleAutocast.from(sc2ApiActionRawToggleAutocast())); }