blob: ecb6e6bdb922bcb05c7127cd50a2b9353972c253 [file] [log] [blame]
/*
* Copyright (C) 2009, Google Inc. and others
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0 which is available at
* https://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package org.eclipse.jgit.revwalk;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import java.util.ArrayList;
import org.junit.Test;
public class FIFORevQueueTest extends RevQueueTestCase<FIFORevQueue> {
@Override
protected FIFORevQueue create() {
return new FIFORevQueue();
}
@Override
@Test
public void testEmpty() throws Exception {
super.testEmpty();
assertEquals(0, q.outputType());
}
@Test
public void testCloneEmpty() throws Exception {
q = new FIFORevQueue(AbstractRevQueue.EMPTY_QUEUE);
assertNull(q.next());
}
@Test
public void testAddLargeBlocks() throws Exception {
final ArrayList<RevCommit> lst = new ArrayList<>();
for (int i = 0; i < 3 * BlockRevQueue.Block.BLOCK_SIZE; i++) {
final RevCommit c = commit();
lst.add(c);
q.add(c);
}
for (int i = 0; i < lst.size(); i++)
assertSame(lst.get(i), q.next());
}
@Test
public void testUnpopAtFront() throws Exception {
final RevCommit a = commit();
final RevCommit b = commit();
final RevCommit c = commit();
q.add(a);
q.unpop(b);
q.unpop(c);
assertSame(c, q.next());
assertSame(b, q.next());
assertSame(a, q.next());
}
}