Inheritance: IObservableOrganizationsClient
            public void EnsuresNonNullArguments()
            {
                var client = new ObservableOrganizationsClient(Substitute.For<IGitHubClient>());

                Assert.Throws<ArgumentNullException>(() => client.Get(null));

                Assert.Throws<ArgumentException>(() => client.Get(""));
            }
            public void RequestsTheCorrectUrl()
            {
                var gitHubClient = Substitute.For<IGitHubClient>();
                var client = new ObservableOrganizationsClient(gitHubClient);

                client.GetAll("username");

                gitHubClient.Received().Organization.GetAll("username");
            }
            public void EnsuresNonNullArguments()
            {
                var gitHubClient = Substitute.For<IGitHubClient>();
                var client = new ObservableOrganizationsClient(gitHubClient);

                Assert.Throws<ArgumentNullException>(() => client.GetAll(null));
                Assert.Throws<ArgumentNullException>(() => client.GetAll(null, ApiOptions.None));
                Assert.Throws<ArgumentNullException>(() => client.GetAll("username", null));

                Assert.Throws<ArgumentException>(() => client.GetAll(""));
                Assert.Throws<ArgumentException>(() => client.GetAll("", ApiOptions.None));
            }
        public ObservableGitHubClient(IGitHubClient gitHubClient)
        {
            Ensure.ArgumentNotNull(gitHubClient, "githubClient");

            _gitHubClient = gitHubClient;
            Authorization = new ObservableAuthorizationsClient(gitHubClient);
            Miscellaneous = new ObservableMiscellaneousClient(gitHubClient.Miscellaneous);
            Notification = new ObservableNotificationsClient(gitHubClient);
            Organization = new ObservableOrganizationsClient(gitHubClient);
            Repository = new ObservableRepositoriesClient(gitHubClient);
            SshKey = new ObservableSshKeysClient(gitHubClient);
            User = new ObservableUsersClient(gitHubClient);
            Release = new ObservableReleasesClient(gitHubClient);
        }
        public ObservableGitHubClient(IGitHubClient gitHubClient)
        {
            Ensure.ArgumentNotNull(gitHubClient, "githubClient");

            _gitHubClient = gitHubClient;
            Authorization = new ObservableAuthorizationsClient(gitHubClient);
            Miscellaneous = new ObservableMiscellaneousClient(gitHubClient.Miscellaneous);
            Notification  = new ObservableNotificationsClient(gitHubClient);
            Organization  = new ObservableOrganizationsClient(gitHubClient);
            Repository    = new ObservableRepositoriesClient(gitHubClient);
            SshKey        = new ObservableSshKeysClient(gitHubClient);
            User          = new ObservableUsersClient(gitHubClient);
            Release       = new ObservableReleasesClient(gitHubClient);
        }
            public void RequestsTheCorrectUrlWithApiOptions()
            {
                var gitHubClient = Substitute.For<IGitHubClient>();
                var client = new ObservableOrganizationsClient(gitHubClient);

                var options = new ApiOptions
                {
                    StartPage = 1,
                    PageCount = 1,
                    PageSize = 1
                };

                client.GetAll("username", options);

                gitHubClient.Received().Organization.GetAll("username", options);
            }
        public ObservableGitHubClient(IGitHubClient gitHubClient)
        {
            Ensure.ArgumentNotNull(gitHubClient, "githubClient");

            _gitHubClient = gitHubClient;
            Authorization = new ObservableAuthorizationsClient(gitHubClient);
            Activity = new ObservableActivitiesClient(gitHubClient);
            Issue = new ObservableIssuesClient(gitHubClient);
            Miscellaneous = new ObservableMiscellaneousClient(gitHubClient.Miscellaneous);
            Notification = new ObservableNotificationsClient(gitHubClient);
            Organization = new ObservableOrganizationsClient(gitHubClient);
            Repository = new ObservableRepositoriesClient(gitHubClient);
            SshKey = new ObservableSshKeysClient(gitHubClient);
            User = new ObservableUsersClient(gitHubClient);
            Release = new ObservableReleasesClient(gitHubClient);
            GitDatabase = new ObservableGitDatabaseClient(gitHubClient);
            Gist = new ObservableGistsClient(gitHubClient);
            Search = new ObservableSearchClient(gitHubClient);
        }
        public ObservableGitHubClient(IGitHubClient gitHubClient)
        {
            Ensure.ArgumentNotNull(gitHubClient, "githubClient");

            _gitHubClient = gitHubClient;
            Authorization = new ObservableAuthorizationsClient(gitHubClient);
            Activity      = new ObservableActivitiesClient(gitHubClient);
            Issue         = new ObservableIssuesClient(gitHubClient);
            Miscellaneous = new ObservableMiscellaneousClient(gitHubClient.Miscellaneous);
            Notification  = new ObservableNotificationsClient(gitHubClient);
            Organization  = new ObservableOrganizationsClient(gitHubClient);
            Repository    = new ObservableRepositoriesClient(gitHubClient);
            SshKey        = new ObservableSshKeysClient(gitHubClient);
            User          = new ObservableUsersClient(gitHubClient);
            Release       = new ObservableReleasesClient(gitHubClient);
            GitDatabase   = new ObservableGitDatabaseClient(gitHubClient);
            Gist          = new ObservableGistsClient(gitHubClient);
            Search        = new ObservableSearchClient(gitHubClient);
        }
        public ObservableGitHubClient(IGitHubClient gitHubClient)
        {
            Ensure.ArgumentNotNull(gitHubClient, "githubClient");

            _gitHubClient = gitHubClient;
            Authorization = new ObservableAuthorizationsClient(gitHubClient);
            Activity = new ObservableActivitiesClient(gitHubClient);
            Issue = new ObservableIssuesClient(gitHubClient);
            Miscellaneous = new ObservableMiscellaneousClient(gitHubClient);
            Oauth = new ObservableOauthClient(gitHubClient);
            Organization = new ObservableOrganizationsClient(gitHubClient);
            PullRequest = new ObservablePullRequestsClient(gitHubClient);
            Repository = new ObservableRepositoriesClient(gitHubClient);
            User = new ObservableUsersClient(gitHubClient);
            Git = new ObservableGitDatabaseClient(gitHubClient);
            Gist = new ObservableGistsClient(gitHubClient);
            Search = new ObservableSearchClient(gitHubClient);
            Enterprise = new ObservableEnterpriseClient(gitHubClient);
            Migration = new ObservableMigrationClient(gitHubClient);
            Reaction = new ObservableReactionsClient(gitHubClient);
        }
        // #LineComplexity: 1
        public ObservableGitHubClient(IGitHubClient gitHubClient)
        {
            Ensure.ArgumentNotNull(gitHubClient, "githubClient");

            _gitHubClient = gitHubClient;
            Authorization = new ObservableAuthorizationsClient(gitHubClient);
            Activity      = new ObservableActivitiesClient(gitHubClient);
            Issue         = new ObservableIssuesClient(gitHubClient);
            Miscellaneous = new ObservableMiscellaneousClient(gitHubClient);
            Oauth         = new ObservableOauthClient(gitHubClient);
            Organization  = new ObservableOrganizationsClient(gitHubClient);
            PullRequest   = new ObservablePullRequestsClient(gitHubClient);
            Repository    = new ObservableRepositoriesClient(gitHubClient);
            User          = new ObservableUsersClient(gitHubClient);
            Git           = new ObservableGitDatabaseClient(gitHubClient);
            Gist          = new ObservableGistsClient(gitHubClient);
            Search        = new ObservableSearchClient(gitHubClient);
            Enterprise    = new ObservableEnterpriseClient(gitHubClient);
            Migration     = new ObservableMigrationClient(gitHubClient);
            Reaction      = new ObservableReactionsClient(gitHubClient);
        }
            public void EnsuresNonNullArguments()
            {
                var gitHubClient = Substitute.For<IGitHubClient>();
                var client = new ObservableOrganizationsClient(gitHubClient);

                Assert.Throws<ArgumentNullException>(() => client.Update(null, new OrganizationUpdate()));
                Assert.Throws<ArgumentNullException>(() => client.Update("org", null));

                Assert.Throws<ArgumentException>(() => client.Update("", new OrganizationUpdate()));
            }
            public void RequestsTheCorrectUrl()
            {
                var gitHubClient = Substitute.For<IGitHubClient>();
                var client = new ObservableOrganizationsClient(gitHubClient);

                var organizationUpdate = new OrganizationUpdate();
                client.Update("initrode", organizationUpdate);

                gitHubClient.Received().Organization.Update("initrode", organizationUpdate);
            }