public void EnsuresNonNullArguments()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservablePullRequestReviewsClient(gitHubClient);

                var dismissMessage = new PullRequestReviewDismiss()
                {
                    Message = "test message"
                };

                Assert.Throws <ArgumentNullException>(() => client.Dismiss(null, "name", 1, 1, dismissMessage));
                Assert.Throws <ArgumentNullException>(() => client.Dismiss("owner", null, 1, 1, dismissMessage));
                Assert.Throws <ArgumentNullException>(() => client.Dismiss("owner", "name", 1, 1, null));

                Assert.Throws <ArgumentException>(() => client.Dismiss("", "name", 1, 1, dismissMessage));
                Assert.Throws <ArgumentException>(() => client.Dismiss("owner", "", 1, 1, dismissMessage));
            }
            public void PostsToCorrectUrlWithRepositoryId()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservablePullRequestReviewsClient(gitHubClient);

                var dismissMessage = new PullRequestReviewDismiss()
                {
                    Message = "test message"
                };

                client.Dismiss(1, 13, 13, dismissMessage);

                gitHubClient.Received().PullRequest.Review.Dismiss(1, 13, 13, dismissMessage);
            }