From 4d66ef1190b2be55fb1859454e230d5d2e9c95d1 Mon Sep 17 00:00:00 2001 From: Gleb Krasilich Date: Tue, 23 Nov 2021 16:46:55 +0300 Subject: [PATCH] Fixed ParentEnumerator.MoveNext() and added corresponding tests --- .../ManagedGit/GitCommitReaderTests.cs | 18 ++++++++++++ ...t-ab39e8acac105fa0db88514f259341c9f0201b22 | 28 +++++++++++++++++++ .../ManagedGit/GitCommit.cs | 2 +- 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 src/NerdBank.GitVersioning.Tests/ManagedGit/commit-ab39e8acac105fa0db88514f259341c9f0201b22 diff --git a/src/NerdBank.GitVersioning.Tests/ManagedGit/GitCommitReaderTests.cs b/src/NerdBank.GitVersioning.Tests/ManagedGit/GitCommitReaderTests.cs index c8f068c10..ea4feeab2 100644 --- a/src/NerdBank.GitVersioning.Tests/ManagedGit/GitCommitReaderTests.cs +++ b/src/NerdBank.GitVersioning.Tests/ManagedGit/GitCommitReaderTests.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Linq; using Nerdbank.GitVersioning.ManagedGit; using Xunit; @@ -31,5 +32,22 @@ public void ReadTest() // Committer and commit message are not read } } + + [Fact] + public void ReadCommitWithThreeParents() + { + using (Stream stream = TestUtilities.GetEmbeddedResource(@"ManagedGit\commit-ab39e8acac105fa0db88514f259341c9f0201b22")) + { + var commit = GitCommitReader.Read(stream, GitObjectId.Parse("ab39e8acac105fa0db88514f259341c9f0201b22"), readAuthor: true); + + Assert.Equal(3, commit.Parents.Count()); + + Assert.Collection( + commit.Parents, + c => Assert.Equal("e0b4d66ef7915417e04e88d5fa173185bb940029", c.ToString()), + c => Assert.Equal("10e67ce38fbee44b3f5584d4f9df6de6c5f4cc5c", c.ToString()), + c => Assert.Equal("a7fef320334121af85dce4b9b731f6c9a9127cfd", c.ToString())); + } + } } } diff --git a/src/NerdBank.GitVersioning.Tests/ManagedGit/commit-ab39e8acac105fa0db88514f259341c9f0201b22 b/src/NerdBank.GitVersioning.Tests/ManagedGit/commit-ab39e8acac105fa0db88514f259341c9f0201b22 new file mode 100644 index 000000000..f1b78e1fb --- /dev/null +++ b/src/NerdBank.GitVersioning.Tests/ManagedGit/commit-ab39e8acac105fa0db88514f259341c9f0201b22 @@ -0,0 +1,28 @@ +tree 0f118b0345501ba18c15e149c9ae49ce07352485 +parent e0b4d66ef7915417e04e88d5fa173185bb940029 +parent 10e67ce38fbee44b3f5584d4f9df6de6c5f4cc5c +parent a7fef320334121af85dce4b9b731f6c9a9127cfd +author Atsushi Eno 1278350964 -0000 +committer Atsushi Eno 1278350964 -0000 + +2010-07-05 Atsushi Enomoto + + * ChannelDispatcher.cs : + moved IChannelDispatcherBoundListener from HttpChannelListener.cs. + + * SvcHttpHandler.cs : removed old code and #if blocks. + + * HttpStandaloneReplyChannel.cs + HttpStandaloneRequestContext.cs + HttpStandaloneChannelListener.cs + HttpReplyChannel.cs + HttpRequestContext.cs + HttpChannelListener.cs : renamed former 3 files to latter 3 files. + + * System.ServiceModel.dll.sources : + renamed new HTTP channel listener implementation sources, and + removed old sources. + + + +svn path=/trunk/mcs/; revision=159913 diff --git a/src/NerdBank.GitVersioning/ManagedGit/GitCommit.cs b/src/NerdBank.GitVersioning/ManagedGit/GitCommit.cs index b9448a42b..2e27acd5d 100644 --- a/src/NerdBank.GitVersioning/ManagedGit/GitCommit.cs +++ b/src/NerdBank.GitVersioning/ManagedGit/GitCommit.cs @@ -164,7 +164,7 @@ public bool MoveNext() { 0 => this.owner.FirstParent.HasValue, 1 => this.owner.SecondParent.HasValue, - _ => this.owner.AdditionalParents?.Count >= this.position - 2, + _ => this.owner.AdditionalParents?.Count > this.position - 2, }; }