Below are unit tests for priority queue written during the lab:
import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.NoSuchElementException;
import org.junit.Test;
public class UnitTests {
@Test
public void testIsEmpty() {
OurQueue<String> queue = new OurPriorityQueue<String>();
assertTrue(queue.isEmpty());
queue.add("food");
assertFalse(queue.isEmpty());
}
@Test
public void testSize() {
OurQueue<String> queue = new OurPriorityQueue<String>();
assertEquals(0, queue.size());
queue.add("food");
assertEquals(1, queue.size());
queue.add("apple");
assertEquals(2, queue.size());
queue.add("spork");
assertEquals(3, queue.size());
}
@Test
public void singleItemTest() {
OurQueue<String> queue = new OurPriorityQueue<String>();
queue.add("kiwi");
assertEquals("kiwi", queue.element());
assertEquals(1, queue.size());
assertFalse(queue.isEmpty());
}
@Test
public void testElement() {
OurQueue<String> queue = new OurPriorityQueue<String>();
queue.add("boo");
queue.add("achoo");
assertEquals("achoo", queue.element());
assertEquals("achoo", queue.element());
}
@Test
public void threeItemsTest() {
OurQueue<String> queue = new OurPriorityQueue<String>();
queue.add("kiwi");
queue.add("apple");
queue.add("orange");
assertTrue(queue.isEmpty());
assertEquals(3, queue.size());
assertEquals("apple", queue.element());
}
@Test
public void iteratorTest() {
OurQueue<String> queue = new OurPriorityQueue<String>();
queue.add("kiwi");
queue.add("apple");
queue.add("orange");
String[] expected = { "apple", "kiwi", "orange" };
int i = 0;
for (String fruit : queue) {
assertEquals(expected[i++], fruit);
}
}
@Test
public void testIterator2() {
OurQueue<String> queue = new OurPriorityQueue<String>();
queue.add("apples");
queue.add("kiwi");
queue.add("banana");
ArrayList<String> fruit1 = new ArrayList<String>();
fruit1.add("apples");
fruit1.add("banana");
fruit1.add("kiwi");
ArrayList<String> fruit2 = new ArrayList<String>();
for (String fruit : queue) {
fruit2.add(fruit);
}
assertEquals(fruit1, fruit2);
}
@Test
public void removeTest() {
OurQueue<String> queue = new OurPriorityQueue<String>();
queue.add("kiwi");
queue.add("apple");
queue.add("orange");
assertEquals("apple", queue.remove());
assertEquals(2, queue.size());
assertEquals("kiwi", queue.element());
assertEquals("kiwi", queue.remove());
assertEquals(1, queue.size());
assertEquals("orange", queue.remove());
assertTrue(queue.isEmpty());
assertEquals(0, queue.size());
}
@Test
public void testIterator() {
OurQueue<Integer> queue = new OurPriorityQueue<Integer>();
int testSum = 0;
queue.add(1);
queue.add(2);
queue.add(3);
for (int element : queue) {
testSum = testSum + element;
}
assertEquals(6, testSum);
}
@Test(expected = NoSuchElementException.class)
public void testNoSuchElementException() throws NoSuchElementException {
OurQueue<String> queue = new OurPriorityQueue<String>();
queue.remove();
}
}