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

                await AssertEx.Throws <ArgumentNullException>(async() => await client.ReplaceAllForIssue(null, "name", 42, labels));

                await AssertEx.Throws <ArgumentNullException>(async() => await client.ReplaceAllForIssue("owner", null, 42, labels));

                await AssertEx.Throws <ArgumentNullException>(async() => await client.ReplaceAllForIssue("owner", "name", 42, null));
            }
            public void PutsToCorrectUrl()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new IssuesLabelsClient(connection);

                client.ReplaceAllForIssue("fake", "repo", 42, labels);

                connection.Received().Put <IReadOnlyList <Label> >(Arg.Is <Uri>(u => u.ToString() == "repos/fake/repo/issues/42/labels"), Arg.Any <string[]>());
            }
            public void PutsToCorrectUrlWithRepositoryId()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new IssuesLabelsClient(connection);

                client.ReplaceAllForIssue(1, 42, labels);

                connection.Received().Put <IReadOnlyList <Label> >(Arg.Is <Uri>(u => u.ToString() == "repositories/1/issues/42/labels"), Arg.Any <string[]>(), "application/vnd.github.symmetra-preview+json");
            }
            public async Task EnsuresNonNullArguments()
            {
                var client = new IssuesLabelsClient(Substitute.For<IApiConnection>());

                await AssertEx.Throws<ArgumentNullException>(async () => await client.ReplaceAllForIssue(null, "name", 42, labels));
                await AssertEx.Throws<ArgumentNullException>(async () => await client.ReplaceAllForIssue("owner", null, 42, labels));
                await AssertEx.Throws<ArgumentNullException>(async () => await client.ReplaceAllForIssue("owner", "name", 42, null));
            }
            public void PutsToCorrectUrl()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new IssuesLabelsClient(connection);

                client.ReplaceAllForIssue("fake", "repo", 42, labels);

                connection.Received().Put<IReadOnlyList<Label>>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/issues/42/labels"), Arg.Any<string[]>());
            }