public void ShouldReturnTwoRecentCommits() { using (var tempFolder = new TemporaryFolder()) { var tempRepository = new TemporaryRepository(tempFolder); tempRepository.RunCommand("init"); tempRepository.TouchFileAndCommit(); tempRepository.TouchFileAndCommit(); var executor = new GitCommandExecutor(tempFolder.Path); var log = new LogRetriever(executor).GetRecentCommits().ToArray(); Assert.AreEqual(2, log.Length); var commit = log.ElementAt(0); Assert.IsNotNullOrEmpty(commit.Hash); Assert.AreEqual(40, commit.Hash.Length); CollectionAssert.AreEqual(new[] { log.ElementAt(1).Hash }, commit.ParentHashes); commit = log.ElementAt(1); Assert.IsNotNullOrEmpty(commit.Hash); Assert.AreEqual(40, commit.Hash.Length); Assert.IsNull(commit.ParentHashes); } }
public void ShouldReturnMostRecentCommitFirst() { using (var tempFolder = new TemporaryFolder()) { var tempRepository = new TemporaryRepository(tempFolder); tempRepository.RunCommand("init"); tempRepository.TouchFileAndCommit(); tempRepository.TouchFileAndCommit(); var executor = new GitCommandExecutor(tempFolder.Path); var log = new LogRetriever(executor).GetRecentCommits().ToArray(); var firstCommitReturned = log.ElementAt(0); var secondCommitReturned = log.ElementAt(1); CollectionAssert.AreEqual(new[] { secondCommitReturned.Hash }, firstCommitReturned.ParentHashes); } }