### Question:
ParseUser extends ParseObject { @Override void validateSave() { synchronized (mutex) { if (getObjectId() == null) { throw new IllegalArgumentException( "Cannot save a ParseUser until it has been signed up. Call signUp first."); } if (isAuthenticated() || !isDirty() || isCurrentUser()) { return; } } if (!Parse.isLocalDatastoreEnabled()) { ParseUser current = ParseUser.getCurrentUser(); if (current != null && getObjectId().equals(current.getObjectId())) { return; } } throw new IllegalArgumentException("Cannot save a ParseUser that is not authenticated."); } ParseUser(); static ParseQuery<ParseUser> getQuery(); boolean isAuthenticated(); @Override void remove(String key); String getSessionToken(); void setUsername(String username); String getUsername(); void setPassword(String password); void setEmail(String email); String getEmail(); boolean isNew(); @Override void put(String key, Object value); @SuppressWarnings("unchecked") @Override ParseUser fetch(); Task<Void> signUpInBackground(); void signUp(); void signUpInBackground(SignUpCallback callback); static Task<ParseUser> logInInBackground(String username, String password); static ParseUser logIn(String username, String password); static void logInInBackground(final String username, final String password,
      LogInCallback callback); static Task<ParseUser> becomeInBackground(String sessionToken); static ParseUser become(String sessionToken); static void becomeInBackground(final String sessionToken, LogInCallback callback); static ParseUser getCurrentUser(); static Task<Void> logOutInBackground(); static void logOutInBackground(LogOutCallback callback); static void logOut(); static Task<Void> requestPasswordResetInBackground(String email); static void requestPasswordReset(String email); static void requestPasswordResetInBackground(final String email,
      RequestPasswordResetCallback callback); @SuppressWarnings("unchecked") @Override ParseUser fetchIfNeeded(); static void registerAuthenticationCallback(
      String authType, AuthenticationCallback callback); static Task<ParseUser> logInWithInBackground(
      final String authType, final Map<String, String> authData); boolean isLinked(String authType); Task<Void> linkWithInBackground(
      String authType, Map<String, String> authData); Task<Void> unlinkFromInBackground(final String authType); static void enableAutomaticUser(); static Task<Void> enableRevocableSessionInBackground();  }### Answer:
@Test public void testValidateSaveWithNoObjectId() throws Exception { ParseUser user = new ParseUser(); thrown.expect(IllegalArgumentException.class); thrown.expectMessage("Cannot save a ParseUser until it has been signed up. Call signUp first."); user.validateSave(); }