public async Task GetCommitsDiff_ShouldCallCorrectUrlAndResult()
        {
            var responseTxt = Utilities.LoadFile(Paths.GetStandardDataPath("GetCommitsDiffResponse.txt"));

            responseTxt = responseTxt.Replace(Environment.NewLine, "\n");

            var response = MockRepository.GenerateMock <IRestResponse>();

            response.Stub(x => x.Content).Return(responseTxt);

            var result = _restClient
                         .Capture()
                         .Args <IRestRequest, IRestResponse>(
                (s, req) => s.ExecuteTaskAsync(req), response);

            var commitDiff = await _sut.GetCommitsDiff("repoName", "owner", "9f0a336dc13893f8a73693267662a1b5835a3d87", "9f0a336dc13893f8a73693267662a1b5835a3d84");

            Assert.AreEqual(1, result.CallCount);

            var args = result.Args[0];

            Assert.Multiple(() =>
            {
                Assert.AreEqual("repositories/owner/repoName/diff/9f0a336dc13893f8a73693267662a1b5835a3d87..9f0a336dc13893f8a73693267662a1b5835a3d84", args.Resource);
                Assert.AreEqual(Method.GET, args.Method);

                var firstDiff = commitDiff.First();

                Assert.AreEqual(FileChangeType.Add, firstDiff.Type);
                Assert.AreEqual(0, firstDiff.Deletions);
                Assert.AreEqual(1, firstDiff.Additions);
                Assert.AreEqual("/dev/null", firstDiff.From);
                Assert.AreEqual("NEWFILE", firstDiff.To);
                Assert.AreEqual("NEWFILE", firstDiff.DisplayFileName);
                Assert.AreEqual(1, firstDiff.Chunks.Count);

                var firstChange = firstDiff.Chunks.First().Changes.First();

                Assert.AreEqual("+wqdqwdwqd", firstChange.Content);
                Assert.AreEqual(1, firstChange.Index);
                Assert.AreEqual(1, firstChange.NewIndex);
                Assert.AreEqual(null, firstChange.OldIndex);
                Assert.AreEqual(LineChangeType.Add, firstChange.Type);
            });
        }