public void UpdateDeliveryDevice_Invokes_Executor_Execute() { var authMock = new Mock<ITwitterAuthorizer>(); var execMock = new Mock<ITwitterExecute>(); execMock.SetupGet(exec => exec.AuthorizedClient).Returns(authMock.Object); execMock.Setup(exec => exec.PostToTwitter( It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<Func<string, Account>>())) .Returns(SettingsResponse); var ctx = new TwitterContext(authMock.Object, execMock.Object, "", ""); var parameters = new Dictionary<string, string> { { "device", DeviceType.Sms.ToString().ToLower() }, { "include_entities", true.ToString().ToLower() } }; Account acct = ctx.UpdateDeliveryDevice(DeviceType.Sms, true); execMock.Verify(exec => exec.PostToTwitter( "https://api.twitter.com/1.1/account/update_delivery_device.json", parameters, It.IsAny<Func<string, Account>>()), Times.Once()); Assert.NotNull(acct); Settings settings = acct.Settings; Assert.NotNull(settings); }