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

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

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

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

                await AssertEx.Throws <ArgumentException>(async() => await client.Delete("owner", "", 1));
            }
            public async Task EnsuresNonNullArguments()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservablePullRequestReviewCommentsClient(gitHubClient);

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.Delete(null, "name", 1).ToTask());

                await Assert.ThrowsAsync <ArgumentException>(() => client.Delete("", "name", 1).ToTask());

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.Delete("owner", null, 1).ToTask());

                await Assert.ThrowsAsync <ArgumentException>(() => client.Delete("owner", "", 1).ToTask());
            }
            public void PostsToCorrectUrl()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservablePullRequestReviewCommentsClient(gitHubClient);

                client.Delete("fakeOwner", "fakeRepoName", 13);

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