Mercurial > hg4j
comparison test/org/tmatesoft/hg/test/TestRevisionMaps.java @ 657:6334b0267103
ParentChildMap can supply RevisionMap. Refactor ArrayHelper to keep most of sorted/reverse index magic inside
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Thu, 04 Jul 2013 20:27:45 +0200 |
parents | a937e63b6e02 |
children | 19f5167c2155 |
comparison
equal
deleted
inserted
replaced
656:a937e63b6e02 | 657:6334b0267103 |
---|---|
26 import org.tmatesoft.hg.core.HgException; | 26 import org.tmatesoft.hg.core.HgException; |
27 import org.tmatesoft.hg.core.Nodeid; | 27 import org.tmatesoft.hg.core.Nodeid; |
28 import org.tmatesoft.hg.repo.HgChangelog; | 28 import org.tmatesoft.hg.repo.HgChangelog; |
29 import org.tmatesoft.hg.repo.HgParentChildMap; | 29 import org.tmatesoft.hg.repo.HgParentChildMap; |
30 import org.tmatesoft.hg.repo.HgRepository; | 30 import org.tmatesoft.hg.repo.HgRepository; |
31 import org.tmatesoft.hg.repo.HgRevisionMap; | |
31 | 32 |
32 /** | 33 /** |
33 * | 34 * |
34 * @author Artem Tikhomirov | 35 * @author Artem Tikhomirov |
35 * @author TMate Software Ltd. | 36 * @author TMate Software Ltd. |
99 errorCollector.assertEquals(Arrays.asList(allRevs[2], allRevs[3]), parentHelper.directChildren(allRevs[1])); | 100 errorCollector.assertEquals(Arrays.asList(allRevs[2], allRevs[3]), parentHelper.directChildren(allRevs[1])); |
100 errorCollector.assertEquals(Arrays.asList(allRevs[8]), parentHelper.directChildren(allRevs[6])); | 101 errorCollector.assertEquals(Arrays.asList(allRevs[8]), parentHelper.directChildren(allRevs[6])); |
101 errorCollector.assertEquals(Collections.emptyList(), parentHelper.directChildren(allRevs[7])); | 102 errorCollector.assertEquals(Collections.emptyList(), parentHelper.directChildren(allRevs[7])); |
102 } | 103 } |
103 | 104 |
105 @Test | |
106 public void testRevisionMap() throws HgException { | |
107 // XXX this test may benefit from external huge repository | |
108 final HgRepository repo = Configuration.get().find("test-annotate"); | |
109 Nodeid[] allRevs = RepoUtils.allRevisions(repo); | |
110 final HgChangelog clog = repo.getChangelog(); | |
111 final HgRevisionMap<HgChangelog> rmap = new HgRevisionMap<HgChangelog>(clog).init(); | |
112 doTestRevisionMap(allRevs, rmap); | |
113 } | |
114 | |
115 @Test | |
116 public void testRevisionMapFromParentChildMap() throws HgException { | |
117 final HgRepository repo = Configuration.get().find("test-annotate"); | |
118 Nodeid[] allRevs = RepoUtils.allRevisions(repo); | |
119 HgParentChildMap<HgChangelog> parentHelper = new HgParentChildMap<HgChangelog>(repo.getChangelog()); | |
120 parentHelper.init(); | |
121 doTestRevisionMap(allRevs, parentHelper.getRevisionMap()); | |
122 } | |
123 | |
124 private void doTestRevisionMap(Nodeid[] allRevs, HgRevisionMap<HgChangelog> rmap) { | |
125 for (int i = 0; i < allRevs.length; i++) { | |
126 errorCollector.assertEquals(i, rmap.revisionIndex(allRevs[i])); | |
127 errorCollector.assertEquals(allRevs[i], rmap.revision(i)); | |
128 } | |
129 } | |
104 } | 130 } |