//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //Linked List Tests //Description: Test suite for the Linked List class used to check Assignment 1 // submissions. //CS 284 //Programmed by Jonathan Voris //4/19/06 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ import junit.framework.TestCase; import junit.framework.TestSuite; import junit.framework.Test; import java.util.Arrays; import java.util.Iterator; import java.util.ListIterator; public class LinkedListTest extends TestCase { private MyLinkedList testList, testList2; protected void setUp() { testList = new MyLinkedList(); testList2 = new MyLinkedList(); } public static Test suite() { return new TestSuite(LinkedListTest.class); } public static void main(String[] args) { junit.textui.TestRunner.run(suite()); } Integer[] settest1 = {5, 42, 33}; Integer[] settest2 = {5, 55, 33}; public void testAddSetandGet() { assertTrue(testList.add(46)); assertTrue(testList.add(2)); testList.set(1, 22); assertTrue((Integer)testList.get(1) == 22); testList.set(0, 75); assertTrue((Integer)testList.get(0) == 75); } public void testIsEmptyClearandSize() { assertTrue(testList.isEmpty()); assertTrue(testList.size() == 0); assertTrue(testList.add(46)); assertTrue(testList.add(2)); assertFalse(testList.isEmpty()); assertTrue(testList.size() == 2); testList.clear(); assertTrue(testList.isEmpty()); assertTrue(testList.size() == 0); } public void testContains() { assertTrue(testList.add(5)); assertTrue(testList.add(42)); assertTrue(testList.contains(5)); assertTrue(testList.contains(42)); assertFalse(testList.contains(19)); } public void testIndexOf() { assertTrue(testList.add(5)); assertTrue(testList.add(42)); assertTrue(testList.indexOf(5) == 0); assertTrue(testList.indexOf(42) == 1); } Integer[] addattest1 = {5, 1, 42}; Integer[] addattest2 = {18, 5, 1, 42}; public void testAddAt() { assertTrue(testList.add(5)); assertTrue(testList.add(42)); testList.add(1, 1); assertTrue(Arrays.equals(testList.toArray(), addattest1)); testList.add(0, 18); assertTrue(Arrays.equals(testList.toArray(), addattest2)); } public void testEquals() { assertTrue(testList.add(5)); assertTrue(testList.add(42)); assertTrue(testList2.add(5)); assertFalse(testList.equals(testList2)); assertTrue(testList2.add(42)); assertTrue(testList.equals(testList2)); } public void testLastIndexOf() { assertTrue(testList.add(5)); assertTrue(testList.add(42)); assertTrue(testList.lastIndexOf(5) == 0); assertTrue(testList.lastIndexOf(42) == 1); assertTrue(testList.add(5)); assertTrue(testList.add(42)); assertTrue(testList.lastIndexOf(5) == 2); assertTrue(testList.lastIndexOf(42) == 3); } Integer[] removetest1 = {42, 18}; Integer[] removetest2 = {42}; public void testRemove1() { assertTrue(testList.add(5)); assertTrue(testList.add(42)); assertTrue(testList.add(18)); testList.remove(0); assertTrue(Arrays.equals(testList.toArray(), removetest1)); testList.remove(1); assertTrue(Arrays.equals(testList.toArray(), removetest2)); } Integer[] removetest3 = {5, 18}; Integer[] removetest4 = {18}; public void testRemove2() { assertTrue(testList.add(5)); assertTrue(testList.add(42)); assertTrue(testList.add(18)); assertTrue(testList.remove((Object)42)); assertTrue(Arrays.equals(testList.toArray(), removetest3)); assertTrue(testList.remove((Object)5)); assertTrue(Arrays.equals(testList.toArray(), removetest4)); } Integer[] sublisttest1 = {5, 42}; Integer[] sublisttest2 = {42, 18}; public void testSubList() { assertTrue(testList.add(5)); assertTrue(testList.add(42)); assertTrue(testList.add(18)); assertTrue(Arrays.equals(testList.subList(0,2).toArray(), sublisttest1)); assertTrue(Arrays.equals(testList.subList(1,3).toArray(), sublisttest2)); } Integer[] noadd = {}; Integer[] addtest1 = {5}; Integer[] addtest2 = {5, 42}; public void testToArray() { assertTrue(Arrays.equals(testList.toArray(), noadd)); assertTrue(testList.add(5)); assertTrue(Arrays.equals(testList.toArray(), addtest1)); assertTrue(testList.add(42)); assertTrue(Arrays.equals(testList.toArray(), addtest2)); } Integer[] itertest = {5, 42, 18}; public void testIterator1() { assertTrue(testList.add(5)); assertTrue(testList.add(42)); assertTrue(testList.add(18)); int index = 0; for (Iterator it=testList.iterator(); it.hasNext(); ) { Object element = it.next(); assertTrue((Integer)element == itertest[index]); index++; } } public void testIterator2() { assertTrue(testList.add(5)); assertTrue(testList.add(42)); assertTrue(testList.add(18)); int index = 0; for (ListIterator it=testList.listIterator(); it.hasNext(); ) { Object element = it.next(); assertTrue((Integer)element == itertest[index]); index++; } } public void testIterator3() { assertTrue(testList.add(5)); assertTrue(testList.add(42)); assertTrue(testList.add(18)); int index = 1; for (ListIterator it=testList.listIterator(1); it.hasNext(); ) { Object element = it.next(); assertTrue((Integer)element == itertest[index]); index++; } } }