Skip to content

Commit b369380

Browse files
committed
DiffTreeToTreeFixture.UsingPatienceAlgorithmCompareOptionProducesPatienceDiff() test
1 parent 3f132b8 commit b369380

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

LibGit2Sharp.Tests/DiffTreeToTreeFixture.cs

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1133,5 +1133,71 @@ public void CallingCompareWithAnUnsupportedGenericParamThrows()
11331133
Assert.Throws<LibGit2SharpException>(() => repo.Diff.Compare<string>());
11341134
}
11351135
}
1136+
1137+
[Fact]
1138+
public void UsingPatienceAlgorithmCompareOptionProducesPatienceDiff()
1139+
{
1140+
string repoPath = InitNewRepository();
1141+
using (var repo = new Repository(repoPath))
1142+
{
1143+
Func<string, Tree> fromString = s => repo.ObjectDatabase.CreateTree(new TreeDefinition().Add("file.txt", OdbHelper.CreateBlob(repo, s), Mode.NonExecutableFile));
1144+
1145+
Tree treeOld = fromString(new StringBuilder()
1146+
.Append("aaaaaa\n")
1147+
.Append("aaaaaa\n")
1148+
.Append("bbbbbb\n")
1149+
.Append("bbbbbb\n")
1150+
.Append("cccccc\n")
1151+
.Append("cccccc\n")
1152+
.Append("abc\n").ToString());
1153+
1154+
Tree treeNew = fromString(new StringBuilder()
1155+
.Append("abc\n")
1156+
.Append("aaaaaa\n")
1157+
.Append("aaaaaa\n")
1158+
.Append("bbbbbb\n")
1159+
.Append("bbbbbb\n")
1160+
.Append("cccccc\n")
1161+
.Append("cccccc\n").ToString());
1162+
1163+
string diffDefault = new StringBuilder()
1164+
.Append("diff --git a/file.txt b/file.txt\n")
1165+
.Append("index 3299d68..accc3bd 100644\n")
1166+
.Append("--- a/file.txt\n")
1167+
.Append("+++ b/file.txt\n")
1168+
.Append("@@ -1,7 +1,7 @@\n")
1169+
.Append("+abc\n")
1170+
.Append(" aaaaaa\n")
1171+
.Append(" aaaaaa\n")
1172+
.Append(" bbbbbb\n")
1173+
.Append(" bbbbbb\n")
1174+
.Append(" cccccc\n")
1175+
.Append(" cccccc\n")
1176+
.Append("-abc\n").ToString();
1177+
1178+
string diffPatience = new StringBuilder()
1179+
.Append("diff --git a/file.txt b/file.txt\n")
1180+
.Append("index 3299d68..accc3bd 100644\n")
1181+
.Append("--- a/file.txt\n")
1182+
.Append("+++ b/file.txt\n")
1183+
.Append("@@ -1,7 +1,7 @@\n")
1184+
.Append("-aaaaaa\n")
1185+
.Append("-aaaaaa\n")
1186+
.Append("-bbbbbb\n")
1187+
.Append("-bbbbbb\n")
1188+
.Append("-cccccc\n")
1189+
.Append("-cccccc\n")
1190+
.Append(" abc\n")
1191+
.Append("+aaaaaa\n")
1192+
.Append("+aaaaaa\n")
1193+
.Append("+bbbbbb\n")
1194+
.Append("+bbbbbb\n")
1195+
.Append("+cccccc\n")
1196+
.Append("+cccccc\n").ToString();
1197+
1198+
Assert.Equal(diffDefault, repo.Diff.Compare<Patch>(treeOld, treeNew));
1199+
Assert.Equal(diffPatience, repo.Diff.Compare<Patch>(treeOld, treeNew, compareOptions: new CompareOptions { PatienceAlgorithm = true }));
1200+
}
1201+
}
11361202
}
11371203
}

0 commit comments

Comments
 (0)