public async Task EnsuresArgumentsNotNull()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new PullRequestsClient(connection);

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.Merged(null, "name", 1));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.Merged("owner", null, 1));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.Merged(null, "", 1));

                await Assert.ThrowsAsync <ArgumentException>(() => client.Merged("", null, 1));
            }
            public void RequestsCorrectUrl()
            {
                var conn       = Substitute.For <IConnection>();
                var connection = Substitute.For <IApiConnection>();

                connection.Connection.Returns(conn);

                var client = new PullRequestsClient(connection);

                client.Merged("fake", "repo", 42);

                conn.Received().Get <object>(Arg.Is <Uri>(u => u.ToString() == "repos/fake/repo/pulls/42/merge"), null, null);
            }
            public async Task EnsuresArgumentsNotNull()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new PullRequestsClient(connection);

                await Assert.ThrowsAsync<ArgumentNullException>(() => client.Merged(null, "name", 1));
                await Assert.ThrowsAsync<ArgumentNullException>(() => client.Merged("owner", null, 1));
                await Assert.ThrowsAsync<ArgumentNullException>(() => client.Merged(null, "", 1));
                await Assert.ThrowsAsync<ArgumentException>(() => client.Merged("", null, 1));
            }
            public void RequestsCorrectUrl()
            {
                var conn = Substitute.For<IConnection>();
                var connection = Substitute.For<IApiConnection>();
                connection.Connection.Returns(conn);

                var client = new PullRequestsClient(connection);

                client.Merged("fake", "repo", 42);

                conn.Received().Get<object>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/pulls/42/merge"), null, null);
            }