public async Task EnsuresNonNullArguments()
            {
                var client = new ObservableOrganizationMembersClient(Substitute.For <IGitHubClient>());

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllPublic(null).ToTask());

                await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllPublic("").ToTask());
            }
            public async Task EnsuresNonNullArguments()
            {
                var client = new ObservableOrganizationMembersClient(Substitute.For <IGitHubClient>());

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

                Assert.Throws <ArgumentException>(() => client.GetAllPublic(""));
                Assert.Throws <ArgumentException>(() => client.GetAllPublic("", ApiOptions.None));
            }
            public void RequestsTheCorrectUrl()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableOrganizationMembersClient(gitHubClient);

                client.GetAllPublic("org");

                gitHubClient.Connection.Received(1).Get <List <User> >(
                    new Uri("orgs/org/public_members", UriKind.Relative), null, null);
            }
            public void RequestsTheCorrectUrlWithApiOptions()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableOrganizationMembersClient(gitHubClient);

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

                client.GetAllPublic("org", options);

                gitHubClient.Connection.Received(1).Get <List <User> >(
                    new Uri("orgs/org/public_members", UriKind.Relative), Arg.Is <IDictionary <string, string> >(d => d.Count == 2), null);
            }