public async Task EnsuresArgumentsNotNull()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservablePullRequestReviewCommentsClient(gitHubClient);

                var body = "New comment content";

                var comment = new PullRequestReviewCommentEdit(body);

                await AssertEx.Throws <ArgumentNullException>(async() => await client.Edit(null, "name", 1, comment));

                await AssertEx.Throws <ArgumentException>(async() => await client.Edit("", "name", 1, comment));

                await AssertEx.Throws <ArgumentNullException>(async() => await client.Edit("owner", null, 1, comment));

                await AssertEx.Throws <ArgumentException>(async() => await client.Edit("owner", "", 1, comment));

                await AssertEx.Throws <ArgumentNullException>(async() => await client.Edit("owner", "name", 1, null));
            }
            public void PostsToCorrectUrl()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservablePullRequestReviewCommentsClient(gitHubClient);

                var comment = new PullRequestReviewCommentEdit("New comment content");

                client.Edit("fakeOwner", "fakeRepoName", 13, comment);

                gitHubClient.PullRequest.Comment.Received().Edit("fakeOwner", "fakeRepoName", 13, comment);
            }