public void InitializeAnonymous() { var mock = new Mock <ISmugMugAPI>(); UserProfile nullUserProfile = null; UserProfile validUserProfile = new UserProfile() { DisplayName = "Valid User", BioText = "Valid bio" }; UserProfile updatedUserProfile = new UserProfile() { DisplayName = "Valid User", BioText = "Updated bio" }; User nullUser = null; User validUser = new User() { Name = "Valid User", NickName = "ValidUser" }; mock.Setup(api => api.GetUser("ValidUser")).ReturnsAsync(validUser); mock.Setup(api => api.GetUser("InvalidUser")).ReturnsAsync(nullUser); mock.Setup(api => api.GetUserProfile("ValidUser")).ReturnsAsync(validUserProfile); mock.Setup(api => api.GetUserProfile("InvalidUser")).ReturnsAsync(nullUserProfile); mock.Setup(api => api.GetUserProfile(validUser)).ReturnsAsync(validUserProfile); mock.Setup(api => api.GetUserProfile(nullUser)).ReturnsAsync(nullUserProfile); mock.Setup(api => api.UpdateUserProfile(validUser, It.Is <Dictionary <string, string> >(i => i.ContainsKey("BioText")))).ReturnsAsync(updatedUserProfile); mock.Setup(api => api.UpdateUserProfile(validUser, It.Is <Dictionary <string, string> >(i => i.ContainsKey("Invalid")))).Throws <HttpRequestException>(); mock.Setup(api => api.UpdateUserProfile(validUserProfile, It.Is <Dictionary <string, string> >(i => i.ContainsKey("BioText")))).ReturnsAsync(updatedUserProfile); mock.Setup(api => api.UpdateUserProfile(validUserProfile, It.Is <Dictionary <string, string> >(i => i.ContainsKey("Invalid")))).Throws <HttpRequestException>(); mock.Setup(api => api.UpdateUserProfile((User)null, It.IsAny <Dictionary <string, string> >())).Throws <ArgumentNullException>(); mock.Setup(api => api.UpdateUserProfile(validUser, null)).Throws <ArgumentNullException>(); api = mock.Object; }