public async void CallsTwoPatches()
        {
            // Arrange
            var httpServiceMock    = CreateHttpServiceMock(out HttpResponseMessage response);
            var requestBuilderMock = CreateRequestBuilderMock();
            var responseReaderMock = new Mock <IResponseReader>();
            var sut = new PaypalRestApiClient(httpServiceMock.Object, requestBuilderMock.Object, responseReaderMock.Object);

            var patches = new [] {
                new Definitions.Patch {
                    Op    = "testOp1",
                    Path  = "testPath1",
                    Value = "testValue1"
                },
                new Definitions.Patch {
                    Op    = "testOp2",
                    Path  = "testPath2",
                    Value = "testValue2"
                }
            };
            string apiPath = "http://example.com/";

            // Act
            await sut.Patch(patches, apiPath);

            // Assert
            httpServiceMock.Verify(x => x.SendAndReturnResponseAsync(It.Is <HttpRequestMessage>(request => HasValues(request, HttpMethod.Patch, patches, apiPath).Result)));
        }
        public async void CallsPost()
        {
            // Arrange
            var httpServiceMock    = CreateHttpServiceMock(out _);
            var requestBuilderMock = CreateRequestBuilderMock();
            var responseReaderMock = new Mock <IResponseReader>();
            var sut = new PaypalRestApiClient(httpServiceMock.Object, requestBuilderMock.Object, responseReaderMock.Object);

            string apiPath = "http://example.com/";

            // Act
            await sut.Post(apiPath);

            // Assert
            httpServiceMock.Verify(x => x.SendAndReturnResponseAsync(It.Is <HttpRequestMessage>(request => HasValues(request, HttpMethod.Post, null, apiPath).Result)));
        }