### Question:
NetworkUserController implements ParseUserController { @Override public Task<ParseUser.State> getUserAsync(String sessionToken) { ParseRESTCommand command = ParseRESTUserCommand.getCurrentUserCommand(sessionToken); return command.executeAsync(client).onSuccess(new Continuation<JSONObject, ParseUser.State>() { @Override public ParseUser.State then(Task<JSONObject> task) throws Exception { JSONObject result = task.getResult(); return coder.decode(new ParseUser.State.Builder(), result, ParseDecoder.get()) .isComplete(true) .build(); } }); } NetworkUserController(ParseHttpClient client);  NetworkUserController(ParseHttpClient client, boolean revocableSession); @Override Task<ParseUser.State> signUpAsync(
      final ParseObject.State state,
      ParseOperationSet operations,
      String sessionToken); @Override Task<ParseUser.State> logInAsync(
      String username, String password); @Override Task<ParseUser.State> logInAsync(
      ParseUser.State state, ParseOperationSet operations); @Override Task<ParseUser.State> logInAsync(
      final String authType, final Map<String, String> authData); @Override Task<ParseUser.State> getUserAsync(String sessionToken); @Override Task<Void> requestPasswordResetAsync(String email);  }### Answer:
@Test public void testGetUserAsync() throws Exception { JSONObject mockResponse = generateBasicMockResponse(); ParseHttpClient restClient = ParseTestUtils.mockParseHttpClientWithResponse(mockResponse, 201, "OK"); NetworkUserController controller = new NetworkUserController(restClient, true); ParseUser.State newState = ParseTaskUtils.wait(controller.getUserAsync("sessionToken")); verifyBasicUserState(mockResponse, newState); assertTrue(newState.isComplete()); assertFalse(newState.isNew()); }