ActionRunRequest { @NonNull public static ActionRunRequest createRequest(@NonNull String actionName) { return new ActionRunRequest(actionName, null); } private  ActionRunRequest(@NonNull String actionName, @Nullable ActionRegistry registry); @VisibleForTesting @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)  ActionRunRequest(@NonNull Action action); @NonNull static ActionRunRequest createRequest(@NonNull String actionName); @NonNull static ActionRunRequest createRequest(@NonNull String actionName, @Nullable ActionRegistry registry); @NonNull static ActionRunRequest createRequest(@NonNull Action action); @NonNull ActionRunRequest setValue(@Nullable ActionValue actionValue); @NonNull ActionRunRequest setValue(@Nullable Object object); @NonNull ActionRunRequest setMetadata(@Nullable Bundle metadata); @NonNull ActionRunRequest setSituation(@Action.Situation int situation); @NonNull @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) ActionRunRequest setExecutor(@NonNull Executor executor); @NonNull @WorkerThread ActionResult runSync(); void run(); void run(@Nullable ActionCompletionCallback callback); void run(@Nullable Looper looper, @Nullable final ActionCompletionCallback callback);  }
@Test public void testRunNullAction() { exception.expect(IllegalArgumentException.class); exception.expectMessage("Unable to run null action"); ActionRunRequest.createRequest((Action) null); }