public void ParseGitBlame() { GitBlame result; using (_executable.StageOutput("rev-parse --git-common-dir", ".git")) { var path = Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestData/README.blame"); result = _gitModule.ParseGitBlame(File.ReadAllText(path), Encoding.UTF8); } Assert.AreEqual(80, result.Lines.Count); Assert.AreEqual(ObjectId.Parse("957ff3ce9193fec3bd2578378e71676841804935"), result.Lines[0].Commit.ObjectId); Assert.AreEqual("# Git Extensions", result.Lines[0].Text); Assert.AreEqual(1, result.Lines[0].OriginLineNumber); Assert.AreEqual(1, result.Lines[0].FinalLineNumber); Assert.AreSame(result.Lines[0].Commit, result.Lines[1].Commit); Assert.AreSame(result.Lines[0].Commit, result.Lines[6].Commit); Assert.AreEqual(ObjectId.Parse("e3268019c66da7534414e9562ececdee5d455b1b"), result.Lines.Last().Commit.ObjectId); Assert.AreEqual("", result.Lines.Last().Text); }