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

                Assert.Throws<ArgumentNullException>(() => client.GetAllForRepository(null, name));
                Assert.Throws<ArgumentNullException>(() => client.GetAllForRepository(owner, null));
                Assert.Throws<ArgumentNullException>(() => client.GetAllForRepository(owner, name, null));
            }
            public void RequestsCorrectUrlWithRepositoryId()
            {
                var gitHubClient = Substitute.For<IGitHubClient>();
                var client = new ObservableAssigneesClient(gitHubClient);

                client.GetAllForRepository(repositoryId);

                gitHubClient.Connection.Received(1).Get<List<User>>(_expectedUriWithRepositoryId,
                    Arg.Is<Dictionary<string, string>>(dictionary => dictionary.Count == 0), null);
            }
            public void RequestsCorrectUrlWithApiOption()
            {
                var github = Substitute.For<IGitHubClient>();
                var client = new ObservableAssigneesClient(github);

                client.GetAllForRepository(owner, name, new ApiOptions {PageSize = 1, StartPage = 1});

                github.Connection.Received(1).Get<List<User>>(_expectedUri,
                    Arg.Is<Dictionary<string, string>>(dictionary => dictionary.Count == 2), null);
            }