public void PostsToCorrectUrl()
        {
            var newIssue = new NewIssue("some title");
            var connection = Substitute.For<IApiConnection>();
            var client = new IssuesClient(connection);

            client.Create("fake", "repo", newIssue);

            connection.Received().Post<Issue>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/issues"),
                newIssue);
        }
            public async Task EnsuresArgumentsNotNull()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new IssuesClient(connection);

                AssertEx.Throws<ArgumentNullException>(async () => await
                    client.Create(null, "name", new NewIssue("title")));
                AssertEx.Throws<ArgumentException>(async () => await
                    client.Create("", "name", new NewIssue("x")));
                AssertEx.Throws<ArgumentNullException>(async () => await
                    client.Create("owner", null, new NewIssue("x")));
                AssertEx.Throws<ArgumentException>(async () => await
                    client.Create("owner", "", new NewIssue("x")));
                AssertEx.Throws<ArgumentNullException>(async () => await
                    client.Create("owner", "name", null));
            }