### Question:
UserTemplate extends AbstractYammerOperations implements UserOperations { public void updateProfile(long userId, UserInfo userInfo){ restTemplate.put(buildUri("users/"+String.valueOf(userId)+".json", userInfo.toParams()),null); } UserTemplate(RestTemplate restTemplate); List<YammerProfile> getUsers(int page); List<YammerProfile> getUsers(int page, String sortBy, boolean reverse, Character letter); YammerProfile getUser(long id); YammerProfile getUser(String userId); void updateProfile(long userId, UserInfo userInfo); YammerProfile getUserProfile(); YammerProfile getUserByEmail(String email);  }### Answer:
@Test public void testUpdateUser(){ mockServer.expect(requestTo("https: .andExpect(method(PUT)) .andRespond(withSuccess()); UserInfo userInfo = new UserInfo(null, "Dilbert Gradle", "Developer", "The Streaming", "gtalk", "dilbert.gradle@gmail.com", "123456", "1", "121212", "http: userInfo.addEducation("foo", "bar", "foobar", 2000, 2001); userInfo.addEducation("bar", "foo", "barfoo", 2001, null); userInfo.addExperience("foobar consulting", "consultant", "consulting on foobarnesse", 2001,null); userInfo.addExperience("yabadoo", "caveman", "cavingness", 1900,1950); yammerTemplate.userOperations().updateProfile(123456L, userInfo); }