1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 package org.eclipse.jgit.revwalk;
45
46 import static org.junit.Assert.assertEquals;
47 import static org.junit.Assert.assertFalse;
48 import static org.junit.Assert.assertNull;
49
50 import org.junit.Test;
51
52 public class DateRevQueueTest extends RevQueueTestCase<DateRevQueue> {
53 @Override
54 protected DateRevQueue create() {
55 return new DateRevQueue();
56 }
57
58 @Override
59 @Test
60 public void testEmpty() throws Exception {
61 super.testEmpty();
62 assertNull(q.peek());
63 assertEquals(Generator.SORT_COMMIT_TIME_DESC, q.outputType());
64 }
65
66 @Test
67 public void testCloneEmpty() throws Exception {
68 q = new DateRevQueue(AbstractRevQueue.EMPTY_QUEUE);
69 assertNull(q.next());
70 }
71
72 @Test
73 public void testInsertOutOfOrder() throws Exception {
74 final RevCommit a = parseBody(commit());
75 final RevCommit b = parseBody(commit(10, a));
76 final RevCommit c1 = parseBody(commit(5, b));
77 final RevCommit c2 = parseBody(commit(-50, b));
78
79 q.add(c2);
80 q.add(a);
81 q.add(b);
82 q.add(c1);
83
84 assertCommit(c1, q.next());
85 assertCommit(b, q.next());
86 assertCommit(a, q.next());
87 assertCommit(c2, q.next());
88 assertNull(q.next());
89 }
90
91 @Test
92 public void testInsertTie() throws Exception {
93 final RevCommit a = parseBody(commit());
94 final RevCommit b = parseBody(commit(0, a));
95 {
96 q = create();
97 q.add(a);
98 q.add(b);
99
100 assertCommit(a, q.next());
101 assertCommit(b, q.next());
102 assertNull(q.next());
103 }
104 {
105 q = create();
106 q.add(b);
107 q.add(a);
108
109 assertCommit(b, q.next());
110 assertCommit(a, q.next());
111 assertNull(q.next());
112 }
113 }
114
115 @Test
116 public void testCloneFIFO() throws Exception {
117 final RevCommit a = parseBody(commit());
118 final RevCommit b = parseBody(commit(200, a));
119 final RevCommit c = parseBody(commit(200, b));
120
121 final FIFORevQueue src = new FIFORevQueue();
122 src.add(a);
123 src.add(b);
124 src.add(c);
125
126 q = new DateRevQueue(src);
127 assertFalse(q.everbodyHasFlag(RevWalk.UNINTERESTING));
128 assertFalse(q.anybodyHasFlag(RevWalk.UNINTERESTING));
129 assertCommit(c, q.peek());
130 assertCommit(c, q.peek());
131
132 assertCommit(c, q.next());
133 assertCommit(b, q.next());
134 assertCommit(a, q.next());
135 assertNull(q.next());
136 }
137 }