// hg annotate handles merge in its own way, here we check
// how map(diff(p1->base->p2)) merge strategy works
final String file1AnnotateResult = "3:1:1\n3:2:2x\n3:3:3y\n2:4:z\n0:1:1\n1:2:2x\n4:3:3y\n";
final String file4AnnotateResult = "3:1:1\n1:2:2x\n4:3:3y\n2:4:z\n0:1:1\n3:6:2x\n3:7:3y\n";
final String file5AnnotateResult = "0:1:1\n1:2:2x\n4:3:3y\n2:4:z\n5:5:1\n5:6:2x\n5:7:3y\n";
HgAnnotateCommand cmd = new HgAnnotateCommand(repo);
cmd.changeset(5);
AnnotateInspector insp = new AnnotateInspector();
// file1
cmd.file(df1, false).execute(insp);
doAnnotateLineCheck(5, splitLines(file1AnnotateResult), insp);
// file4
cmd.file(df4, false).execute(insp = new AnnotateInspector());
doAnnotateLineCheck(5, splitLines(file4AnnotateResult), insp);
// file5
cmd.file(df5, false).execute(insp = new AnnotateInspector());
doAnnotateLineCheck(5, splitLines(file5AnnotateResult), insp);
}