### Question:
ActionSpatialCameraMove implements Sc2ApiSerializable<Spatial.ActionSpatialCameraMove> { public static ActionSpatialCameraMove from(Spatial.ActionSpatialCameraMove sc2ApiActionSpatialCameraMove) { require("sc2api action spatial camera move", sc2ApiActionSpatialCameraMove); return new ActionSpatialCameraMove(sc2ApiActionSpatialCameraMove); } private  ActionSpatialCameraMove(Builder builder); private  ActionSpatialCameraMove(Spatial.ActionSpatialCameraMove sc2ApiActionSpatialCameraMove); static Builder cameraMove(); static ActionSpatialCameraMove from(Spatial.ActionSpatialCameraMove sc2ApiActionSpatialCameraMove); @Override Spatial.ActionSpatialCameraMove toSc2Api(); PointI getCenterInMinimap(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void throwsExceptionWhenSc2ApiActionSpatialCameraMoveIsNull() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> ActionSpatialCameraMove.from(nothing())) .withMessage("sc2api action spatial camera move is required"); }
@Test void convertsSc2ApiActionSpatialCameraMoveToActionSpatialCameraMove() { assertThatAllFieldsAreConverted(ActionSpatialCameraMove.from(sc2ApiActionSpatialCameraMove())); }